/* Canal Flats: London mews and Amsterdam canals. Navy, brick, canal-water line. Editorial hero. */
:root{--navy:#1D2A44;--navy2:#131D31;--brick:#9C3D2E;--water:#4A7A9C;--ink:#1B2130;--mute:#5B6475;--bg:#EEF0F3;--white:#FFFFFF;--line:#CDD3DC}
body.cfl-site{margin:0;background:var(--white);color:var(--ink);font:400 17px/1.65 "Source Sans 3",sans-serif}
.cfl-site h1,.cfl-site h2,.cfl-site h3{font-family:"Old Standard TT",Georgia,serif;font-weight:700;line-height:1.12;margin:0 0 .5em;color:var(--navy)}
.cfl-site h1{font-size:clamp(2.4rem,5.2vw,4.2rem)}.cfl-site h2{font-size:clamp(1.6rem,2.8vw,2.3rem)}.cfl-site h3{font-size:1.2rem}
:where(.cfl-site) a{color:var(--brick)}
.cfl-w{max-width:1200px;margin:0 auto;padding:0 24px}
.cfl-hd{background:var(--navy);color:#fff;border-bottom:4px solid var(--water)}
.cfl-hd .cfl-w{display:flex;align-items:center;gap:26px;min-height:72px;flex-wrap:wrap}
.cfl-logo{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto}
.cfl-logo svg{width:40px;height:40px;background:#fff;border-radius:4px;padding:2px}.cfl-logo span{font:700 1.45rem "Old Standard TT",serif;color:#fff}
.cfl-nav{display:flex;gap:22px}.cfl-nav a{text-decoration:none;color:#E3E7EE;font-weight:600}.cfl-nav a[aria-current]{color:#fff;box-shadow:inset 0 -2px var(--brick)}
.cfl-lg{display:flex;gap:2px;border:1px solid rgba(255,255,255,.3)}.cfl-lg a{text-decoration:none;color:#E3E7EE;font-size:.78rem;font-weight:700;padding:5px 8px}
.cfl-lg a[aria-current]{background:#fff;color:var(--navy)}
.cfl-hero-editorial{padding:64px 0;background:var(--bg)}
.cfl-hero-editorial .cfl-w{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:start}
.cfl-ht p{font-size:1.12rem;color:var(--mute)}
.cfl-hp{background:var(--white);padding:12px;border:1px solid var(--line)}
.cfl-hp .cfl-himg{width:100%;aspect-ratio:4/3;object-fit:cover;display:flex}
.cfl-hp ol{list-style:none;padding:0;margin:12px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.cfl-hp li a{display:block;padding:8px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--navy);font:700 1rem "Old Standard TT",serif}
.cfl-ask input{border-radius:2px;border-color:var(--line)}
.cfl-btn{display:inline-flex;justify-content:center;align-items:center;padding:11px 20px;border:2px solid var(--navy);color:var(--navy);background:var(--white);font:700 .95rem "Source Sans 3",sans-serif;text-decoration:none;cursor:pointer}
.cfl-btn-main{background:var(--brick);border-color:var(--brick);color:#fff}.cfl-btn-main:hover{background:#7F3125}
.cfl-sec{padding:70px 0}.cfl-alt{background:var(--bg)}
.cfl-lead{color:var(--mute)}
.cfl-dest-rows{display:grid;grid-template-columns:1fr 1fr;gap:0 36px;border-top:3px double var(--navy)}
.cfl-d{display:grid;grid-template-columns:130px 1fr;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.cfl-dimg{width:130px;aspect-ratio:1;object-fit:cover;display:flex}
.cfl-dt{display:flex;flex-direction:column;gap:2px}.cfl-dt b{font:700 1.3rem "Old Standard TT",serif;color:var(--navy)}
.cfl-dt span{color:var(--mute);font-size:.92rem}.cfl-dt i{font-style:normal;font-weight:700;font-size:.8rem;color:var(--water)}
.cfl-grid-h{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.cfl-card-h{display:grid;grid-template-columns:1fr 1.1fr;background:var(--white);border:1px solid var(--line);border-bottom:4px solid var(--water)}
.cfl-card-h .cfl-ph{min-height:250px}
.cfl-cb{padding:18px;display:flex;flex-direction:column;gap:6px}
.cfl-ty{margin:0;font-size:.82rem;color:var(--water);font-weight:700}.cfl-cb h3{margin:0}
.cfl-cb select{font:inherit;padding:8px;border:1px solid var(--line)}.cfl-rt,.cfl-sp{margin:0}.cfl-ft{margin:0;color:var(--mute);font-size:.88rem}
.cfl-cf{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:auto;padding-top:8px}.cfl-ref{font-size:.75rem;color:var(--mute);width:100%}
.cfl-how,.cfl-faq{padding:70px 0}
.cfl-how ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:s;border:1px solid var(--line)}
.cfl-how li{counter-increment:s;padding:22px;border-right:1px solid var(--line)}.cfl-how li:last-child{border-right:0}
.cfl-how li::before{content:"No. " counter(s);font:700 .95rem "Old Standard TT",serif;color:var(--brick)}
.cfl-faq details{border-bottom:1px solid var(--line);padding:14px 0}.cfl-faq summary{cursor:pointer;font-weight:700}
.cfl-co{background:var(--navy);color:#fff;padding:26px}.cfl-co h2{color:#fff}.cfl-co dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0}.cfl-co dd{margin:0}
.cfl-cta{background:var(--water);color:#fff;padding:46px 0}.cfl-cta .cfl-w{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.cfl-cta h2{color:#fff;margin:0}.cfl-cta p{margin:0}
.cfl-ft-dark{background:var(--navy2);color:#C9D1DE;padding:44px 0 24px;font-size:.94rem}
.cfl-ft .cfl-w{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px}.cfl-ft svg{width:40px;height:40px;background:#fff;padding:2px}
.cfl-ft b{display:block;font:700 1.3rem "Old Standard TT",serif;color:#fff}.cfl-ft ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}.cfl-ft a{color:#fff}
.cfl-ft-x{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:14px;margin:0;font-size:.84rem}
.cfl-ph-hd{background:var(--bg);padding:48px 0 30px;border-bottom:3px double var(--navy)}.cfl-cr{font-size:.86rem;color:var(--mute)}
.cfl-band{margin-top:28px}.cfl-bimg{width:100%;aspect-ratio:21/8;object-fit:cover;display:flex;border-bottom:6px solid var(--water)}
.cfl-req{background:var(--bg);padding:22px;border-left:4px solid var(--brick)}
.cfl-dist{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}.cfl-dist div{border-top:2px solid var(--navy);padding-top:10px}
.cfl-also a{font-weight:700}
.cfl-note{color:var(--mute);font-size:.9rem}
@media (max-width:900px){.cfl-hero-editorial .cfl-w,.cfl-dest-rows,.cfl-grid-h,.cfl-ft .cfl-w{grid-template-columns:1fr}.cfl-how ol{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.cfl-how ol{grid-template-columns:1fr}.cfl-card-h{grid-template-columns:1fr}.cfl-nav{width:100%;overflow-x:auto}}

/* structural rules */
.cfl-mk{background:#FFE45C;color:#1a1a1a;padding:0 .25em;outline:1px dashed #b39a00;border-radius:2px;font-style:normal}
.cfl-demo{background:#FFE45C;color:#1a1a1a;text-align:center;font:600 14px/1.3 system-ui,sans-serif;padding:6px 10px}
.cfl-slot{display:flex;align-items:flex-end;justify-content:flex-start;padding:12px;background:repeating-linear-gradient(135deg,rgba(0,0,0,.05) 0 12px,rgba(0,0,0,.09) 12px 24px)}
[data-cfl-obj][hidden]{display:none!important}
.cfl-lb{position:fixed;inset:0;z-index:80;background:rgba(8,10,14,.94);display:none;align-items:center;justify-content:center}
.cfl-lb.cfl-on{display:flex}
.cfl-lb img{max-width:92vw;max-height:84vh;object-fit:contain}
.cfl-lb button{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:1.8rem;width:48px;height:48px;border-radius:50%;cursor:pointer}
.cfl-lb-x{top:14px;right:14px}.cfl-lb-p{left:14px;top:calc(50% - 24px)}.cfl-lb-f{right:14px;top:calc(50% - 24px)}
.cfl-lb-n{position:absolute;bottom:16px;color:#ddd;font:14px system-ui,sans-serif}
.cfl-ph{position:relative;overflow:hidden}
.cfl-ph img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;display:block}
.cfl-pv,.cfl-nx{position:absolute;top:calc(50% - 18px);width:36px;height:36px;border-radius:50%;border:0;background:rgba(0,0,0,.45);color:#fff;font-size:1.2rem;cursor:pointer;opacity:.85}
.cfl-pv{left:8px}.cfl-nx{right:8px}
.cfl-n{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.5);color:#fff;font-size:12px;padding:2px 8px;border-radius:10px}
.cfl-ask{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end;margin-top:22px}
.cfl-ask label{display:flex;flex-direction:column;gap:4px;font-size:.82rem}
.cfl-ask input{font:inherit;padding:10px;border:1px solid rgba(0,0,0,.2);border-radius:inherit;background:#fff;color:#111;min-width:0}
.cfl-ask .cfl-btn{grid-column:span 2}
.cfl-two{display:grid;grid-template-columns:1.3fr .9fr;gap:44px;align-items:start}
.cfl-btns{display:flex;flex-wrap:wrap;gap:10px}
.cfl-also{display:flex;flex-wrap:wrap;gap:8px 18px}
.cfl-of{display:grid;grid-template-columns:1.2fr .8fr;gap:30px}
.cfl-of-g{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.cfl-of-g img{width:100%;aspect-ratio:4/3;object-fit:cover;cursor:zoom-in}
.cfl-of-g img:first-child{grid-column:span 3;aspect-ratio:16/10}
.cfl-of-b dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px}
.cfl-of-b dd{margin:0;font-weight:600}
.cfl-of-t{display:flex;flex-direction:column;margin:16px 0}
.cfl-of-t b{font-size:2rem}
.cfl-ok{display:inline-block;padding:4px 12px;background:#D6F0E2;color:#185C3C;font-weight:600}
:focus-visible{outline:3px solid currentColor;outline-offset:2px}
@media (max-width:900px){.cfl-two,.cfl-of{grid-template-columns:minmax(0,1fr)}.cfl-ask{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media print{.cfl-hd,.cfl-ft,.cfl-cta,.cfl-demo,#cfl-pay button{display:none!important}}
.cfl-ht,.cfl-w,.cfl-cb,.cfl-txt{min-width:0}
.cfl-site h1,.cfl-site h2{overflow-wrap:break-word;hyphens:auto}
@media (max-width:900px){.cfl-hero-full,.cfl-hero-split .cfl-w,.cfl-hero-editorial .cfl-w{grid-template-columns:minmax(0,1fr)!important}}
@media (max-width:600px){.cfl-site h1{font-size:2.1rem!important}}
.cfl-ask input{width:100%;box-sizing:border-box}
.cfl-nav a{white-space:nowrap}
@media (max-width:600px){.cfl-logo span{font-size:1.15rem!important;white-space:nowrap}}
.cfl-ask select{font:inherit;padding:10px;border:1px solid rgba(0,0,0,.2);border-radius:inherit;background:#fff;color:#111;width:100%;box-sizing:border-box;min-width:0}
.cfl-ask .cfl-btn{grid-column:span 1}
.cfl-bud{grid-column:span 2}
.cfl-ages{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.cfl-ages[hidden],.cfl-ages-err[hidden]{display:none}
.cfl-ages-err{grid-column:1/-1;margin:0;color:#B3261E;font-size:.88rem;font-weight:600}
.cfl-ask .cfl-bad{outline:2px solid #B3261E;outline-offset:1px}
@media (max-width:900px){.cfl-bud{grid-column:1/-1}}
