*{box-sizing:border-box}body{margin:0;background:#f6f5f0;color:#17383f;font:16px/1.75 Arial,sans-serif}a{color:#28565c;text-underline-offset:.22em}.wrap{width:min(1120px,calc(100% - 48px));margin:auto}.mast{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:14px max(24px,calc((100% - 1120px)/2));background:#f6f5f0;position:sticky;top:0;z-index:20;border-bottom:1px solid #a4b6b0}.brand{display:flex;gap:.9rem;align-items:center;color:#17383f;text-decoration:none}.brandmark{font:1.25rem Georgia,serif;border:1px solid #17383f;display:grid;place-items:center;width:55px;height:44px}.brand>span:last-child{font-size:.64rem;line-height:1.35;font-weight:700;letter-spacing:.12em}.mast>nav{display:flex;gap:1.8rem}.mast nav a{font-size:.87rem;font-weight:700;text-decoration:none;padding:.6rem 0}.menu{display:none}.hero{background:#12343c;color:#f5f3e8;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;padding-block:2.6rem}.kicker{font-size:.66rem;letter-spacing:.16em;line-height:1.6;font-weight:700}.hero h1{font:clamp(3.2rem,5.9vw,5.15rem)/1.02 Georgia,serif;letter-spacing:-.04em;margin:1.1rem 0 1.5rem}.hero h1 em{font-weight:400;color:#d2ad7d}.lead{font-size:1.03rem;max-width:55ch;color:#4a6467}.hero .lead{color:#d3dfda;max-width:44ch}.button{display:inline-flex;align-items:center;gap:2rem;padding:.8rem 1.3rem;background:#17383f;color:white;min-height:46px;text-decoration:none;font-weight:700;font-size:.9rem}.button:hover{background:#29535b}.button.light{background:#d2ad7d;color:#12343c}.button.light:hover{background:#e6c496}.harbour-art svg{display:block;width:100%;height:auto;max-height:410px}.harbour-art p{font-size:.6rem;letter-spacing:.16em;margin:0;border-top:1px solid #56716c;padding-top:.8rem;color:#d3dfda}.route-picker{display:grid;grid-template-columns:1fr 1.4fr;gap:4rem;padding-block:3.5rem}.route-picker h2,.evening h2{font:2.7rem/1.15 Georgia,serif;letter-spacing:-.03em;margin:1rem 0}.route-list>a{display:grid;grid-template-columns:30px minmax(0,1fr) 20px;gap:1.2rem;align-items:center;text-decoration:none;color:#17383f;padding:1.15rem 0;border-bottom:1px solid #a4b6b0}.route-list>a:first-child{border-top:1px solid #a4b6b0}.route-list>a>span{font-size:.75rem;color:#526f6b}.route-list h3{font:1.55rem Georgia,serif;margin:0 0 .4rem}.route-list p{font-size:.87rem;margin:0;color:#4a6467}.route-list a:hover h3{text-decoration:underline}.evening{padding-bottom:3.5rem}.evening-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.evening-grid a{display:block;background:#e1e7de;padding:1.5rem 2rem;text-decoration:none;color:#17383f;border-top:3px solid #50726b;position:relative}.evening-grid a:nth-child(2){background:#ebdfcf;border-color:#896548}.evening-grid span{font-size:.62rem;font-weight:700;letter-spacing:.15em}.evening-grid h3{font:2.1rem Georgia,serif;margin:.8rem 0}.evening-grid p{font-size:.9rem;padding-right:1rem}.evening-grid b{position:absolute;right:1.5rem;bottom:1.5rem}.article-head{padding-block:2rem;border-bottom:1px solid #a4b6b0}.article-head>a{font-size:.85rem}.article-head h1{font:clamp(2.4rem,4.6vw,3.9rem)/1.1 Georgia,serif;letter-spacing:-.025em;max-width:27ch;margin:1rem 0}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:4rem;padding-block:1.2rem 3rem}.article-layout article>section{display:grid;grid-template-columns:24px minmax(0,1fr);gap:1rem;scroll-margin-top:110px;border-bottom:1px solid #cbd4cc;padding-block:.5rem}.section-no{font-size:.67rem;padding-top:1.6rem;color:#526f6b}.article-layout h2{font:1.7rem/1.25 Georgia,serif}.article-layout p{max-width:70ch}.contents{align-self:start;position:sticky;top:100px}.contents h2{font:700 .7rem Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;margin:1.4rem 0 .5rem}.contents a{display:block;font-size:.82rem;padding:.5rem 0;border-bottom:1px solid #cbd4cc;text-decoration:none}.source{font-size:.84rem}.partner{background:#e1e7de;padding:1.4rem;margin-top:1.5rem}.partner h2{margin-top:0}.partner>a:last-child{font-size:.84rem;margin-left:1rem}.faq{padding:1rem 0;border-bottom:1px solid #a4b6b0}.faq summary{font-weight:700;cursor:pointer}.faq p{margin-bottom:0}footer{background:#12343c;color:#f5f3e8;padding:2rem 0}footer b{font:1.4rem Georgia,serif}footer nav{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:.8rem}footer a{color:#f5f3e8;font-size:.82rem;padding:.6rem 0}.skip{position:absolute;top:-100px;z-index:30;background:white;padding:.8rem}.skip:focus{top:0}a:focus-visible,summary:focus-visible{outline:3px solid #a4652b;outline-offset:4px}@media(max-width:850px){.mast>nav{display:none}.menu{display:block}.menu summary{padding:.6rem .85rem;min-height:44px;border:1px solid #a4b6b0}.menu nav{position:absolute;top:100%;left:20px;right:20px;padding:1rem;background:#f6f5f0;border:1px solid #a4b6b0;display:grid}.hero-grid{gap:1.5rem}.hero h1{font-size:3.65rem}.route-picker{gap:2rem}.route-picker h2{font-size:2.2rem}.article-layout{grid-template-columns:1fr;gap:1rem}.contents{position:static;display:grid;grid-template-columns:1fr 1fr;column-gap:1.5rem}.contents h2{grid-column:1/-1}}@media(max-width:600px){.wrap{width:calc(100% - 36px)}.mast{padding:10px 18px}.brand{gap:.6rem}.brandmark{width:46px;height:42px;font-size:1.1rem}.brand>span:last-child{font-size:.59rem}.hero-grid{grid-template-columns:1fr;padding-block:1.6rem 1.4rem;gap:1.4rem}.hero h1{font-size:3.65rem;margin:.8rem 0 1.2rem}.hero .lead{font-size:1rem}.harbour-art{max-width:360px;width:100%;margin:auto}.harbour-art svg{max-height:235px}.harbour-art p{text-align:center;font-size:.54rem}.route-picker{grid-template-columns:1fr;gap:.5rem;padding-block:2rem}.route-picker h2{font-size:2.3rem}.route-list>a{gap:.6rem;grid-template-columns:23px minmax(0,1fr) 18px}.route-list h3{font-size:1.45rem}.evening h2{font-size:2.3rem}.evening-grid{grid-template-columns:1fr;gap:1rem}.evening-grid a{padding:1.4rem}.article-head{padding-block:1.3rem}.article-head h1{font-size:2.55rem}.article-layout article>section{grid-template-columns:18px minmax(0,1fr);gap:.6rem}.article-layout h2{font-size:1.55rem}.article-layout article p{font-size:.98rem}.partner>a:last-child{display:block;margin:.8rem 0 0}.contents{grid-template-columns:1fr}footer nav{gap:.5rem 1.4rem}}

/* Site-specific online prompts, added after the editorial layout. */
.online-nav-link{background:#0f2b46;color:#fff!important;border-radius:999px;padding-inline:14px!important;font-weight:760;text-decoration:none}.online-nav-link:hover{filter:brightness(1.14);color:#fff!important}
.seo-promo-card,.seo-promo-panel{position:fixed;z-index:70;background:#fff;color:#172c38;border:1px solid #c6d4d9;box-shadow:0 20px 58px #102d3d3b}.seo-promo-card[hidden],.seo-promo-shell[hidden]{display:none!important}
.seo-promo-card{left:20px;bottom:20px;width:min(410px,calc(100vw - 28px));padding:24px;border-radius:18px 5px 18px 5px;border-top:4px solid #b78d42}.seo-promo-card h2,.seo-promo-panel h2{font-size:1.55rem;line-height:1.15;margin:4px 42px 9px 0}.seo-promo-card p,.seo-promo-panel p{line-height:1.55;margin:0 0 16px}
.seo-promo-kicker{color:#b78d42!important;text-transform:uppercase;letter-spacing:.1em;font-size:.73rem;font-weight:850}.seo-promo-close{position:absolute;top:11px;right:11px;width:40px;height:40px;border:1px solid #bfd0d5;border-radius:50%;background:#eef4f5;color:#0f2b46;font:750 1.4rem/1 system-ui;cursor:pointer}.seo-promo-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border:1px solid #0f2b46;border-radius:9px;background:#0f2b46!important;border-color:#0f2b46!important;color:#fff!important;font:760 .95rem/1.25 system-ui;text-decoration:none}
.seo-promo-shell{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:#102d3d80}.seo-promo-panel{position:relative;width:min(560px,100%);padding:30px;border-radius:18px}.seo-promo-actions{display:flex;gap:10px;flex-wrap:wrap}.seo-promo-later{min-height:44px;padding:10px 15px;border:1px solid #bfd0d5;border-radius:8px;background:#fff;color:#0f2b46;font:750 .94rem/1.3 system-ui;cursor:pointer}
@media(max-width:620px){.online-nav-link{display:block;margin-top:4px;text-align:center}.seo-promo-card{left:14px;right:14px;bottom:14px;width:auto;padding:22px}.seo-promo-panel{padding:25px 20px}.seo-promo-actions{flex-direction:column;align-items:stretch}.seo-promo-actions>*{width:100%}}
@media(prefers-reduced-motion:no-preference){.seo-promo-card,.seo-promo-panel{animation:seoPromptIn .23s ease-out}@keyframes seoPromptIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}
