*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;font:17px/1.65 Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink);--bg:#fff;--ink:#171717;--muted:#65615e;--accent:#99442b;--line:#d5ccc3;--wash:#ece6df;--font:Georgia,serif}a{color:inherit;text-underline-offset:4px}a:hover{color:var(--accent)}a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{max-width:100%;height:auto;display:block;object-fit:cover}p{margin:0 0 1.2rem}h1,h2,h3{margin:0 0 1rem;line-height:1.12;letter-spacing:-.035em;font-family:var(--font);font-weight:400}h1{font-size:clamp(40px,4.8vw,70px)}h2{font-size:38px}h3{font-size:27px}.wrap{width:min(1280px,calc(100% - 80px));margin:auto}.skip{position:absolute;left:15px;top:-120px;z-index:20;background:var(--ink);color:var(--bg);padding:15px}.skip:focus{top:15px}.strap{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:12px 0;font-size:11px;letter-spacing:.1em}.header{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:26px 0;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font:400 46px/1 var(--font);letter-spacing:-.06em;display:flex;align-items:flex-start;gap:8px}.brand small{font:700 10px/1 Arial,sans-serif;letter-spacing:.1em;margin-top:5px}nav{display:flex;gap:25px;flex-wrap:wrap}nav a{font-size:14px;text-decoration:none}nav a[aria-current=page]{text-decoration:underline}.tag{display:block;font:700 11px/1.4 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:17px}.read{display:inline-block;font:700 14px/1.5 Arial,sans-serif;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;padding:16px 22px;background:var(--accent);color:var(--bg);font-size:14px;font-weight:700;text-decoration:none}.button:hover{background:var(--ink);color:var(--bg)}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.card{padding:25px 0;border-top:1px solid var(--line)}.card h3 a{text-decoration:none}.card p{font-size:15px;color:var(--muted);line-height:1.7}.card-no{display:block;font:12px/1.4 monospace;color:var(--muted);margin-bottom:20px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;border-top:2px solid var(--ink)}.section-title h2{font-size:26px;margin:0}.section-title a,.section-title>span{font-size:12px}.page-head{padding:55px 0 40px;max-width:980px}.page-head>p:not(.crumb){font-size:20px;line-height:1.6;max-width:800px;color:var(--muted)}.crumb,.meta{font-size:13px;color:var(--muted)}.crumb{margin-bottom:26px}.article-layout{display:grid;grid-template-columns:225px minmax(0,760px);gap:65px;align-items:start}.contents{position:sticky;top:25px;border-top:2px solid var(--accent);padding-top:20px;font-size:14px}.contents>span{font-size:11px;font-weight:700;letter-spacing:.1em}.contents ol{padding-left:19px}.contents li{margin-bottom:14px}.prose{max-width:760px;font-size:17px;line-height:1.9}.prose h2{font-size:31px;margin:42px 0 20px}.prose section:first-of-type h2{margin-top:28px}.article-image{height:330px;width:100%;margin-bottom:30px}.takeaways{background:var(--wash);padding:25px 30px;margin-top:35px}.prose .takeaways h2{margin-top:0;font-size:27px}.takeaways ul{padding-left:22px;margin-bottom:0}.takeaways li{padding:3px 0}.reference{font-size:14px;border-top:1px solid var(--line);padding-top:24px;margin-top:30px}.reference p{margin:8px 0 0}.related{margin-top:60px}.standalone{min-height:45vh}.about-layout{display:grid;grid-template-columns:.8fr 1fr;gap:65px;align-items:start}.about-photo{height:500px;width:100%}footer{display:flex;justify-content:space-between;gap:40px;border-top:1px solid var(--line);padding:35px 0;margin-top:70px}footer .brand{font-size:32px;margin-bottom:15px}footer p,footer small{font-size:12px;color:var(--muted)}footer nav{align-content:flex-start;max-width:470px}footer nav a{font-size:13px}
/* LIGHTZONE — photographic journal, generous pictures and quiet serif type. */
.light{--bg:#f5f1eb;--ink:#2c2924;--muted:#696057;--accent:#99442b;--line:#d4cabe;--wash:#e9e0d5}.light .header{padding:30px 0}.light .brand{font-size:56px}.light-intro{display:flex;justify-content:space-between;align-items:end;gap:45px;padding:46px 0 35px}.light-intro h1{font-size:clamp(38px,4vw,60px);margin:0;max-width:730px}.light-intro h1 em{font-weight:400}.light-intro>p{max-width:285px;font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:5px}.light-cover{position:relative;padding-bottom:85px}.light-cover .image-link{display:block}.light-cover img{width:100%;height:485px}.light-cover-title{position:absolute;left:35px;bottom:15px;background:var(--bg);max-width:620px;padding:30px 35px 20px}.light-cover-title h2{font-size:41px;max-width:520px}.light-cover-title h2 a{text-decoration:none}.photo-credit{position:absolute;bottom:54px;right:0;font-size:10px;color:var(--muted)}.light-middle{display:grid;grid-template-columns:.8fr 1.6fr;gap:60px;padding:40px 0 65px;border-bottom:1px solid var(--line)}.column-label>span{font:11px monospace;color:var(--muted);letter-spacing:.1em}.column-label h2{font-size:42px;margin-top:27px}.column-label p{font-size:15px;max-width:270px;color:var(--muted)}.light .card-no{display:none}.light-middle .card{padding-top:0;border:0}.light-middle .card h3{font-size:29px}.light-host{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:65px 0;align-items:center}.light-host img{height:460px;width:100%}.light-host h2{font-size:55px;line-height:1.03}.light-host p{font-size:16px}.last-note{border-top:1px solid var(--line);padding:40px 0 10px;max-width:820px}.last-note h2{font-size:36px}.last-note h2 a{text-decoration:none}.last-note p{font-size:17px;color:var(--muted)}
/* MONTRÉAL EN DIRECT — city newspaper, blue masthead and compact columns. */
.montreal{--bg:#fff;--ink:#142b40;--muted:#526575;--accent:#144f8c;--line:#c9d6e1;--wash:#edf3f8;--font:Georgia,'Times New Roman',serif}.montreal .strap{background:#0d3e6b;color:#fff;margin:0 -40px;padding:12px 40px;border:0}.montreal .header{border-bottom:4px solid #144f8c;padding:30px 0 26px}.montreal .brand{font-weight:700;font-size:36px;letter-spacing:-.055em}.montreal nav a{font-weight:600;font-size:13px}.city-intro{padding:35px 0 25px}.city-intro .tag{margin-bottom:14px}.city-intro h1{font-size:clamp(40px,4.3vw,64px);font-weight:700;letter-spacing:-.04em;margin:0}.city-lead{display:grid;grid-template-columns:1.8fr 1fr;gap:40px}.city-image img{width:100%;height:380px}.city-caption{display:flex;justify-content:space-between;gap:20px;margin:11px 0 22px;font-size:10px;color:var(--muted);letter-spacing:.06em}.city-image h2{font-size:34px;font-weight:700}.city-image h2 a{text-decoration:none}.city-image>p{font-size:16px;max-width:730px}.city-sidebar{border-left:1px solid var(--line);padding-left:28px}.city-sidebar>h2{font:700 18px Arial,sans-serif;margin:0;padding:14px 0;background:#f7d85c;text-align:center;color:#172b3a}.city-sidebar article{display:grid;grid-template-columns:25px 1fr;gap:18px;padding:25px 0;border-bottom:1px solid var(--line)}.city-sidebar article>span{font:15px Georgia,serif;color:var(--accent)}.city-sidebar h3{font-size:25px;font-weight:700;margin:0}.city-sidebar h3 a{text-decoration:none}.city-sidebar .tag{font-size:10px;margin-bottom:10px}.city-sidebar .button{font-size:13px;margin-top:24px;width:100%;padding:14px 18px}.city-desk{display:grid;grid-template-columns:1.35fr .65fr;background:#eef4f8;margin:40px 0;align-items:center}.city-desk>div{padding:42px}.city-desk h2{font-size:40px;font-weight:700}.city-desk p{font-size:16px;max-width:570px}.city-desk>img{height:390px;width:100%;object-position:center 45%}.city-business{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;padding:35px 0 45px;border-top:3px solid var(--accent)}.city-business h2{font-size:48px;font-weight:700}.city-business p{font-size:16px;line-height:1.8}.montreal .cards{gap:35px}.montreal .card h3{font-weight:700;font-size:29px}.montreal .card-no{float:right;margin-left:15px}.montreal .page-head h1{font-weight:700}.montreal .prose h2{font-weight:700}
/* UNNAMED GAMING — dark hardware culture, large condensed type, acid accents. */
.gaming{--bg:#111319;--ink:#f3f4f6;--muted:#aeb6c4;--accent:#d7ff43;--line:#353b48;--wash:#202530;--font:Arial,Helvetica,sans-serif}.gaming .strap{font-family:monospace;letter-spacing:.08em;font-size:10px;padding:13px 0}.gaming .header{border-bottom:0;padding:25px 0}.gaming .brand{font:900 31px/.9 Arial,sans-serif;letter-spacing:-.06em;display:block;font-style:italic}.gaming .brand small{display:block;font:700 9px/1.2 Arial,sans-serif;letter-spacing:.45em;color:var(--accent);margin-top:8px}.gaming nav a{font-size:12px;font-weight:700;text-transform:uppercase}.game-cover{display:grid;grid-template-columns:1.1fr .9fr;min-height:570px;border-top:1px solid var(--line)}.game-copy{padding:46px 30px 35px 0;align-self:center}.game-copy .tag{font-size:11px}.game-copy h1{font:400 clamp(60px,6.2vw,94px)/.93 Impact,'Arial Narrow',Arial,sans-serif;letter-spacing:-.015em;margin:26px 0 30px}.game-copy h1>span{color:var(--accent)}.game-copy>p{font-size:19px;line-height:1.6;color:var(--muted)}.gaming .button{color:#141720;font-size:12px;margin-top:18px;padding:18px 25px}.gaming .button:hover{background:#fff;color:#111}.game-picture{position:relative;overflow:hidden;background:#17212a}.game-picture img{position:absolute;width:100%;height:100%;object-position:50% 45%}.game-image-label{position:absolute;bottom:0;left:0;right:0;background:#12151dcc;padding:17px 22px;font:10px monospace;letter-spacing:.13em}.game-strip{background:var(--accent);color:#141820;display:flex;align-items:center;gap:40px;padding:18px 25px}.game-strip>span{font:700 17px Arial,sans-serif;letter-spacing:-.03em}.game-strip>a{margin-left:auto;font:700 12px Arial,sans-serif;text-decoration:none}.game-featured{padding:45px 0 15px}.gaming .section-title{border-color:var(--line)}.gaming .section-title h2{font:700 23px Arial,sans-serif;letter-spacing:-.045em}.gaming .section-title a,.gaming .section-title>span{font:11px monospace;color:var(--muted)}.gaming .cards{gap:22px}.gaming .card{background:#1a1e27;padding:30px;border:1px solid var(--line);position:relative}.gaming .card-no{font:36px/1 Impact,sans-serif;color:#727d90;position:absolute;top:26px;right:24px}.gaming .card .tag{padding-right:40px;font-size:10px}.gaming .card h3{font-size:29px;font-weight:700;letter-spacing:-.05em;max-width:450px}.gaming .card p{font-size:15px}.gaming .card .read{font-size:12px;border-bottom:0;color:var(--accent)}.game-host{display:grid;grid-template-columns:1fr .8fr;gap:65px;padding:55px 0 65px;align-items:center}.game-host h2{font:400 57px/1 Impact,'Arial Narrow',Arial,sans-serif;letter-spacing:-.02em}.game-host p{font-size:16px;line-height:1.8;color:var(--muted);max-width:580px}.game-host p a{color:var(--ink)}.hardware-photo{position:relative;background:#eee}.hardware-photo img{height:420px;width:100%;object-position:50% 50%}.hardware-photo>span{position:absolute;bottom:0;left:0;background:var(--accent);color:#111;padding:10px 18px;font:10px monospace;letter-spacing:.06em}.gaming .page-head h1{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-weight:400;letter-spacing:-.015em}.gaming .page-head>p:not(.crumb){font-size:19px}.gaming .prose h2{font-weight:700;letter-spacing:-.04em}.gaming .about-layout .prose h2{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:42px;font-weight:400}
@media(max-width:1050px){.wrap{width:calc(100% - 40px)}.header{gap:30px;align-items:flex-start;flex-direction:column}.header nav{gap:20px}.light-intro{gap:30px}.light-intro>p{max-width:230px}.light-cover-title{max-width:550px}.light-middle{gap:35px;grid-template-columns:.7fr 1.3fr}.light-host{gap:35px}.light-host h2{font-size:47px}.montreal .strap{margin:0 -20px;padding:12px 20px}.city-lead{grid-template-columns:1.5fr 1fr;gap:25px}.city-sidebar{padding-left:22px}.city-sidebar h3{font-size:23px}.city-sidebar article{gap:10px;padding:20px 0}.city-desk h2{font-size:35px}.city-desk>div{padding:30px}.city-business{gap:35px}.game-cover{min-height:535px}.game-copy h1{font-size:73px}.game-host{gap:35px}.game-host h2{font-size:50px}.article-layout{grid-template-columns:1fr;gap:25px}.contents{position:static}.contents ol{display:flex;flex-wrap:wrap;gap:5px 35px}.contents li{margin:0;max-width:230px}.prose{max-width:800px}.about-layout{gap:35px}footer{flex-direction:column}.photo-credit{font-size:9px}}
@media(max-width:650px){.wrap{width:calc(100% - 32px)}.strap{font-size:10px;letter-spacing:.02em}.strap span:last-child{display:none}.header{padding:22px 0;gap:20px}.header nav{gap:12px 18px}.header nav a{font-size:12px}.brand,.light .brand{font-size:44px}.light-intro{display:block;padding:30px 0 23px}.light-intro h1{font-size:37px}.light-intro>p{max-width:330px;font-size:14px;margin:18px 0 0}.light-cover{padding-bottom:0}.light-cover img{height:275px}.light-cover-title{position:relative;left:auto;bottom:auto;max-width:none;padding:25px 0 10px}.light-cover-title h2{font-size:33px}.photo-credit{position:static;display:block;margin:8px 0 0;font-size:10px}.light-middle{grid-template-columns:1fr;gap:25px;padding:35px 0}.column-label h2{font-size:34px;margin:15px 0}.column-label h2 br{display:none}.column-label p{max-width:320px}.cards{gap:25px;grid-template-columns:1fr}.light-middle .cards{grid-template-columns:1fr 1fr;gap:20px}.light-middle .card h3{font-size:24px}.card p{font-size:14px}.light-host{grid-template-columns:1fr;gap:30px;padding:35px 0}.light-host img{height:260px}.light-host h2{font-size:43px}.last-note{padding:30px 0 0}.last-note h2{font-size:30px}.montreal .strap{margin:0 -16px;padding:12px 16px}.montreal .brand{font-size:34px}.montreal .header{padding:23px 0}.city-intro{padding:28px 0 23px}.city-intro h1{font-size:40px}.city-lead{grid-template-columns:1fr;gap:25px}.city-image img{height:275px}.city-caption{font-size:9px;gap:12px;margin-bottom:20px}.city-image h2{font-size:30px}.city-sidebar{padding-left:0;border-left:0}.city-sidebar article{padding:22px 0}.city-sidebar h3{font-size:25px}.city-sidebar .button{margin-top:20px}.city-desk{grid-template-columns:1fr;margin:35px 0}.city-desk>div{padding:25px}.city-desk h2{font-size:34px}.city-desk>img{height:280px;object-position:center 35%}.city-business{grid-template-columns:1fr;gap:10px;padding:30px 0}.city-business h2{font-size:41px}.city-business h2 br{display:none}.montreal .card h3{font-size:28px}.gaming .header{gap:25px}.gaming .header nav a{font-size:11px}.gaming .brand{font-size:29px}.game-cover{grid-template-columns:1fr;min-height:0}.game-copy{padding:32px 0 35px}.game-copy h1{font-size:72px;line-height:.94;margin:22px 0}.game-copy>p{font-size:18px}.game-picture{min-height:340px}.game-picture img{object-position:50% 45%}.game-strip{gap:15px;padding:16px;flex-wrap:wrap}.game-strip>span{font-size:15px}.game-strip>a{margin-left:0;width:100%;margin-top:5px}.game-featured{padding-top:30px}.gaming .section-title{align-items:flex-start}.gaming .section-title h2{font-size:20px}.gaming .section-title a{font-size:10px;white-space:nowrap}.gaming .section-title>span{display:none}.gaming .card{padding:25px}.gaming .card h3{font-size:27px}.game-host{grid-template-columns:1fr;gap:25px;padding:35px 0}.game-host h2{font-size:54px}.hardware-photo img{height:330px;object-position:50% 45%}.tag{font-size:10px}.page-head{padding:35px 0 28px}.page-head h1{font-size:40px}.page-head>p:not(.crumb){font-size:17px}.gaming .page-head h1{font-size:45px}.article-image{height:260px}.prose{font-size:16px;line-height:1.85}.prose h2{font-size:28px}.contents{font-size:13px}.contents ol{display:block}.contents li{max-width:none;margin-bottom:10px}.takeaways{padding:24px}.about-layout{grid-template-columns:1fr;gap:25px}.about-photo{height:300px}.section-title h2{font-size:25px}.related{margin-top:40px}footer{margin-top:45px;padding:28px 0;gap:25px}footer .brand,.light footer .brand{font-size:31px}footer nav{gap:15px}footer nav a{font-size:12px}}
@media(max-width:360px){.light-middle .cards{grid-template-columns:1fr}.game-copy h1{font-size:64px}.city-intro h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.header,.strap,.contents,footer,.related,.skip{display:none}.wrap{width:100%}body{background:white;color:black}.article-layout{display:block}.prose{max-width:none}.article-image{height:220px}}
