:root{--ink:#153442;--red:#b90009;--muted:#5c696e;--line:#dce3e4;--pale:#f3f6f6}html{scroll-behavior:smooth;scroll-padding-top:90px}.travel-wrap{max-width:1240px;margin:auto;padding:0 40px}.travel-wrap h1,.travel-wrap h2,.travel-wrap h3,.travel-wrap h4{color:var(--ink);line-height:1.15}.travel-breadcrumb{font-size:12px;color:var(--muted);padding:24px 0}.travel-breadcrumb a{text-decoration:none}.travel-hero{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:24px 0 55px}.eyebrow,.mini{font-size:11px;letter-spacing:.12em;font-weight:bold;color:var(--red)}.travel-hero h1{font-size:clamp(46px,5.5vw,76px);letter-spacing:-3px;font-weight:500;margin:20px 0 24px}.hero-copy{font-size:20px;max-width:530px;color:var(--muted);line-height:1.6}.travel-hero figure{margin:0}.travel-hero img{width:100%;height:420px;object-fit:cover;border-radius:3px}.travel-hero figcaption{font-size:11px;color:var(--muted);margin-top:8px}.primary{display:inline-block;background:var(--red);color:white;padding:13px 19px;text-decoration:none;font-weight:bold;font-size:14px}.text-button{display:inline-block;margin:12px 0 12px 18px;font-size:14px;font-weight:bold}.small{font-size:12px;color:var(--muted);line-height:1.6}.travel-hero .small{margin-top:23px}.jump-nav{display:flex;gap:25px;overflow:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;background:white;position:sticky;top:0;z-index:20}.jump-nav a{white-space:nowrap;text-decoration:none;font-size:13px;font-weight:bold;color:var(--ink)}.jump-nav a:hover{color:var(--red)}.travel-section{padding:64px 0;border-bottom:1px solid var(--line)}.section-head{display:flex;gap:22px;align-items:flex-start;margin-bottom:30px}.number{color:var(--red);font-size:13px;border-top:2px solid var(--red);padding-top:8px;min-width:32px;margin-top:6px}.section-head h2{font-size:clamp(28px,3vw,39px);font-weight:500;letter-spacing:-1px;margin:0 0 12px}.section-head p{color:var(--muted);margin:0}.three-up{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-bottom:26px}.intro-card{background:var(--pale);padding:27px}.intro-card h3{font-size:23px;font-weight:500;margin:15px 0}.intro-card p{font-size:15px;color:var(--muted)}.intro-card a{font-size:13px;font-weight:bold}.travel-detail{border-top:1px solid var(--line);padding:0}.travel-detail summary{padding:20px 30px 20px 0;font-weight:bold;color:var(--ink);cursor:pointer;list-style:none;position:relative}.travel-detail summary:after{content:'+';position:absolute;right:4px;font-size:23px;font-weight:400;top:12px}.travel-detail[open] summary:after{content:'−'}.travel-detail>div{max-width:900px;padding:0 0 22px}.travel-detail p{color:var(--muted)}.link-row{display:flex;gap:12px 24px;flex-wrap:wrap;font-size:13px;font-weight:bold;margin-top:20px}.airport-tabs,.filters{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.airport-tabs button,.filters button,.check-actions button{font:inherit;background:white;border:1px solid #b8c5ca;color:var(--ink);padding:11px 16px;cursor:pointer;border-radius:3px;font-size:14px}.airport-tabs button span{font-size:11px;opacity:.75;margin-left:5px}.airport-tabs button[aria-pressed=true],.filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.airport-panel{display:grid;grid-template-columns:190px 1fr;gap:36px;padding:35px;background:var(--pale);border-left:4px solid var(--red)}.airport-code{font-size:62px;line-height:1.1;font-weight:bold;color:var(--ink);letter-spacing:-2px}.airport-code small{display:block;letter-spacing:0;font-size:12px;font-weight:normal;margin-top:12px}.airport-panel h3{font-size:25px;font-weight:500;margin:0 0 15px}.airport-panel p{color:var(--muted);margin:0 0 20px}.airport-panel a{font-size:13px;font-weight:bold}.tip{padding-top:15px;border-top:1px solid #d5dddd}.feature-note{background:var(--ink);color:white;padding:29px 35px;margin-bottom:25px}.feature-note strong{font-size:23px}.feature-note p{max-width:800px;color:#e0e9ec}.feature-note a{color:white;font-size:13px}.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 35px;margin-bottom:20px}.area-grid article{border-top:2px solid var(--line);padding:17px 0}.area-grid h3{font-size:20px;margin:0 0 12px;font-weight:500}.area-grid p{font-size:15px;color:var(--muted)}.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:50px}.editorial-grid>a{color:inherit;text-decoration:none}.editorial-grid img{height:260px;width:100%;object-fit:cover}.editorial-grid span{display:block;color:var(--red);letter-spacing:.1em;font-size:11px;font-weight:bold;margin-top:19px}.editorial-grid h3{font-size:28px;font-weight:500;margin:12px 0}.editorial-grid p{color:var(--muted);margin:0}.directory{border-top:2px solid var(--ink);padding-top:28px;scroll-margin-top:90px}.directory-heading{display:flex;justify-content:space-between;gap:25px;align-items:center}.directory-heading h3{font-size:30px;font-weight:500;margin:0 0 10px}.directory-heading p{color:var(--muted);font-size:14px}.directory-heading label{font-size:12px;min-width:280px;color:var(--ink);font-weight:bold}.directory-heading input{display:block;width:100%;padding:14px;margin-top:6px;font:inherit;font-size:15px;border:1px solid #87999f;border-radius:3px}.place-group{border-top:1px solid var(--line)}.place-group>summary{padding:20px 5px;cursor:pointer;font-size:19px;color:var(--ink)}.group-count{font-size:12px;float:right;color:var(--muted);padding-top:5px}.places{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:8px 0 28px}.place{background:var(--pale);padding:23px;display:flex;flex-direction:column;align-items:flex-start}.place h4{font-size:20px;font-weight:500;margin:12px 0}.place p{font-size:14px;color:var(--muted);margin:0 0 18px}.place a{font-size:13px;font-weight:bold;margin-top:auto}.two-up{display:grid;grid-template-columns:1fr 1fr;gap:25px}.walk{padding:25px;border:1px solid var(--line)}.walk h3{font-size:23px;font-weight:500;margin:0 0 14px}.walk p{color:var(--muted);font-size:15px;margin:0}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:15px}caption{text-align:left;font-size:12px;color:var(--muted);padding-bottom:12px}th,td{padding:15px 18px;border-bottom:1px solid var(--line);vertical-align:top}thead{background:var(--ink);color:white}tbody th{color:var(--ink);min-width:160px}tbody tr:nth-child(even){background:var(--pale)}.checklist{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px}.checklist label{display:flex;align-items:flex-start;gap:13px;padding:15px;background:var(--pale);font-size:15px;cursor:pointer}.checklist input{width:19px;height:19px;accent-color:var(--red);flex-shrink:0}.checklist input:checked+span{text-decoration:line-through;color:var(--muted)}.check-actions{display:flex;align-items:center;gap:15px;margin-top:20px}.check-actions p{margin-right:auto;font-weight:bold;color:var(--ink)}.community{margin-top:50px;padding:36px;background:var(--ink);color:white;display:grid;grid-template-columns:1.3fr 1fr;gap:40px}.community .eyebrow{color:#cbdbe0}.community h2{color:white;font-size:32px;font-weight:500;margin:12px 0}.community p{color:#dce6e9}.community-links{display:flex;flex-direction:column;justify-content:center;gap:14px}.community-links a{color:white}.credits{margin:35px 0}.credits p{font-size:12px}.travel-footer{background:#f4f5f5;padding:38px 0}.travel-footer p{color:var(--muted)}.travel-footer a{font-size:13px}@media(max-width:800px){.travel-wrap{padding:0 22px}.travel-hero{grid-template-columns:1fr;gap:20px;padding-top:8px}.travel-hero img{height:290px}.travel-hero h1{letter-spacing:-2px}.jump-nav{gap:22px;padding:14px 0}.three-up,.area-grid,.places{grid-template-columns:1fr 1fr}.airport-panel{grid-template-columns:1fr;gap:20px;padding:25px}.airport-code{font-size:38px}.airport-code small{display:inline;margin-left:15px}.directory-heading{display:block}.directory-heading label{display:block}.community{grid-template-columns:1fr}.travel-section{padding:42px 0}}@media(max-width:520px){.three-up,.area-grid,.two-up,.places,.checklist,.editorial-grid{grid-template-columns:1fr}.hero-copy{font-size:18px}.text-button{margin-left:0;display:block}.travel-hero figure{order:2}.travel-hero img{height:240px}.section-head{gap:12px}.editorial-grid img{height:220px}.group-count{float:none;display:block;padding-left:20px}.check-actions{flex-wrap:wrap}.check-actions p{width:100%;margin-bottom:0}.airport-tabs button{flex:1 0 40%}.community{padding:25px}.filters button{padding:9px 12px}}
@media print{.cil-header-row,.jump-nav,.filters,.directory-heading label,.check-actions,.travel-footer{display:none!important}.travel-wrap{max-width:none;padding:0 15px}.travel-section{padding:20px 0;break-inside:avoid}.travel-hero img{height:200px}.airport-panel[hidden]{display:grid!important}.place[hidden],.place-group[hidden]{display:revert!important}details>div{display:block!important}.travel-hero{grid-template-columns:1fr 1fr}.places{grid-template-columns:repeat(3,1fr)}a{color:#222}.community{background:#eee;color:#222}.community h2,.community p,.community a{color:#222}}

.air-transat-banner{margin:30px 0 36px}.air-transat-banner>a:first-of-type{display:block}.air-transat-banner img{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:contain}.air-transat-link{display:inline-block;margin-top:10px;font-size:13px;font-weight:bold}.air-transat-banner .small{margin-bottom:8px}

.practical-next{font-size:.95rem;line-height:1.6;padding:12px 0 12px 16px;border-left:3px solid #c82835;margin:18px 0}.practical-next strong{color:#14263c}.travel-next-steps{margin:24px 0 30px}.place-group>.practical-next{margin:16px 22px}

.visit-tip{font-size:.93rem;line-height:1.65;border-top:1px solid #e1e5e9;padding-top:12px}.group-intro{padding:0 22px;max-width:80ch}.travel-detail li{margin-bottom:12px}.table-scroll td{min-width:160px}

.fine-travel{background:#132b35;color:white;padding:28px;margin:28px 0}.fine-travel h3,.fine-travel a{color:white}.fine-travel a{text-decoration:underline}
