body.florence-page{background:#f7f7f4}
body.florence-page .site-header{background:#f7f7f4}
.florence-article-hero{position:relative;isolation:isolate;width:100%;min-height:clamp(620px,82vh,900px);display:flex;align-items:flex-end;overflow:hidden;background:#1b211f;color:#fff}
.florence-hero-photo,.florence-hero-video,.florence-hero-shade{position:absolute;inset:0;width:100%;height:100%}
.florence-hero-photo,.florence-hero-video{z-index:-3;object-fit:cover;object-position:center 46%}
.florence-hero-video{opacity:0;transition:opacity .35s ease;pointer-events:none}
.florence-hero-video.is-playing{opacity:1}
.florence-hero-shade{z-index:-2;background:linear-gradient(90deg,rgba(8,15,14,.8) 0%,rgba(8,15,14,.42) 48%,rgba(8,15,14,.12) 75%),linear-gradient(0deg,rgba(8,15,14,.58),transparent 52%)}
.florence-hero-copy{width:min(850px,86%);margin:0 auto;padding:0 0 clamp(90px,12vh,140px)}
.florence-hero-copy>span,.florence-kicker{font:600 12px/1.4 CoSwitzer,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.florence-hero-copy h1{max-width:850px;margin:22px 0 25px;font:700 clamp(62px,9vw,144px)/.82 CoSwitzer,Arial,sans-serif;letter-spacing:-.075em}
.florence-hero-copy h1 em{font-style:normal;font-weight:300}
.florence-hero-copy p{max-width:620px;margin:0;font:300 clamp(18px,2vw,27px)/1.48 CoSwitzer,Arial,sans-serif}
.florence-video-toggle,.florence-scroll{position:absolute;bottom:30px;z-index:3;color:#fff;font:600 11px/1 CoSwitzer,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.florence-video-toggle{right:4%;padding:12px 16px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:rgba(10,15,14,.22);cursor:pointer}
.florence-scroll{left:4%;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.65)}
/* Article system: generous image spreads, one readable text measure and quiet navigation. */
body.florence-page{--fl-ink:#182124;--fl-muted:#63706f;--fl-line:#d6dcd8;--fl-paper:#f7f7f4;--fl-soft:#eaf0ed;--fl-accent:#914d32}
.fl-story{color:var(--fl-ink);font-family:CoSwitzer,Arial,sans-serif;font-size:18px;line-height:1.75}
.fl-story *, .fl-readbar *, .fl-drawer *{box-sizing:border-box}
.fl-wrap{width:min(1180px,88%);margin-inline:auto}
.fl-story :is(p,h2,h3,figure,blockquote,ol,ul,dl){margin:0}
.fl-story p+p{margin-top:1.1em}
.fl-story :is(h2,h3){color:var(--fl-ink);text-align:left}
body.nordic .editorial-type .fl-story h2{font-size:clamp(32px,3.4vw,48px);line-height:1.12!important;letter-spacing:-.04em!important;margin:17px 0 26px}
body.nordic .editorial-type .fl-story h3{font-size:clamp(23px,2.3vw,30px);line-height:1.22!important;letter-spacing:-.025em!important;margin:0 0 20px}
.fl-prose{max-width:660px;min-width:0}
.fl-prose p{font-size:18px;line-height:1.8;color:#344144}
.fl-prose h3{margin-top:32px!important}
.fl-prose a,.fl-source a{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;text-decoration-color:#9ba6a0}
.fl-prose a:hover{color:var(--fl-accent)}
.fl-prose strong{color:var(--fl-ink)}
.fl-prose ul{padding-left:22px;margin:18px 0}
.fl-prose li+li{margin-top:8px}
.fl-label{display:block;font-size:12px;font-weight:600;letter-spacing:.12em;line-height:1.6;text-transform:uppercase;color:var(--fl-muted)}
.fl-num{font-variant-numeric:tabular-nums;color:var(--fl-accent);font-size:13px;letter-spacing:.08em}
.fl-label .fl-num{margin-right:15px}
.fl-section{padding-block:88px;scroll-margin-top:108px}
.fl-story [id]{scroll-margin-top:110px}
#article-start{scroll-margin-top:68px}
.fl-intro,.fl-row,.fl-plan,.fl-outro{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,2fr);gap:clamp(36px,7vw,110px)}
.fl-intro{padding-block:88px 72px}
.fl-intro-note{font-size:27px;line-height:1.3;letter-spacing:-.04em;margin-top:22px!important}
.fl-facts{margin-top:40px!important;font-size:14px;border-top:1px solid var(--fl-line);max-width:230px}
.fl-facts>div{padding:14px 0;border-bottom:1px solid var(--fl-line)}
body.nordic .fl-facts dt{font-size:12px;text-transform:none;letter-spacing:0;line-height:1.5;color:var(--fl-muted)}
body.nordic .fl-facts dd{font-size:15px;font-weight:500;margin:3px 0 0;line-height:1.5}
.fl-prose .fl-lead{font-size:clamp(23px,2.2vw,29px);line-height:1.5;font-weight:400;color:var(--fl-ink);margin-bottom:28px}
.fl-overview{border-top:1px solid var(--fl-line);padding-block:68px 22px;scroll-margin-top:100px}
.fl-section-heading{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:40px}
.fl-section-heading h2{margin-bottom:0!important}
.fl-section-heading>p{max-width:400px;color:var(--fl-muted);font-size:18px;line-height:1.65;padding-bottom:4px}
.fl-place-index{display:grid;grid-template-columns:1fr 1fr;gap:0 60px;list-style:none;padding:0}
.fl-place-index li{border-bottom:1px solid var(--fl-line)}
.fl-place-index a{display:grid;grid-template-columns:30px 1fr 20px;gap:16px;padding:20px 0;align-items:center;color:inherit;text-decoration:none;transition:color .2s}
.fl-place-index a:hover{color:var(--fl-accent)}
.fl-place-index strong{font-size:20px;line-height:1.3}
.fl-place-index small{display:block;font-size:14px;line-height:1.6;color:var(--fl-muted);margin-top:3px}
.fl-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,86px);align-items:start}
.fl-feature .fl-photo{position:sticky;top:104px}
.fl-feature .fl-photo img{aspect-ratio:4/5;object-fit:cover;width:100%;display:block}
.fl-photo figcaption{font-size:12px;line-height:1.6;color:var(--fl-muted);padding-top:12px;text-align:left}
.fl-feature-copy{padding-top:10px}
.fl-feature-reverse .fl-photo{grid-column:2;grid-row:1}
.fl-feature-reverse .fl-feature-copy{grid-column:1;grid-row:1}
.fl-row{border-top:1px solid var(--fl-line);padding-block:58px}
body.nordic .editorial-type .fl-row h2{font-size:clamp(27px,2.9vw,38px)}
.fl-row .fl-side{position:sticky;top:108px;align-self:start}
.fl-detail{border-top:1px solid var(--fl-line);border-bottom:1px solid var(--fl-line);margin-top:28px}
.fl-detail summary{padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:22px;cursor:pointer;font-size:15px;font-weight:600;line-height:1.5;list-style:none;color:var(--fl-ink)}
.fl-detail summary::-webkit-details-marker,.fl-shop summary::-webkit-details-marker{display:none}
.fl-detail summary>span{font-size:23px;font-weight:300;transition:transform .2s;flex-shrink:0}
.fl-detail[open]>summary>span,.fl-shop[open] .fl-plus{transform:rotate(45deg)}
.fl-detail>div{padding-bottom:22px}
.fl-detail .fl-prose p,.fl-detail>div p{font-size:16px;line-height:1.8}
.fl-quote-image{position:relative;isolation:isolate;min-height:520px;display:flex;align-items:center;justify-content:center;padding:80px 6%;margin:38px 0 0;color:white;background:#172226}
.fl-quote-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.fl-quote-image:before{content:'';position:absolute;inset:0;background:#101e26a8;z-index:-1}
.fl-quote-image>div{width:min(760px,100%);text-align:center}
.fl-quote-image .fl-label{color:#e0e8e4}
body.nordic .editorial-type .fl-quote-image blockquote{font-size:clamp(29px,4vw,50px);font-weight:400;line-height:1.22;margin:28px 0;letter-spacing:-.025em!important}
.fl-hidden-band{background:var(--fl-soft);padding:88px 0;margin-top:30px}
.fl-hidden-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.fl-hidden-grid>section{border-top:1px solid #c6d0ca;padding-top:30px;min-width:0}
body.nordic .editorial-type .fl-hidden-grid h3{margin:18px 0 24px}
.fl-hidden-grid .fl-prose p{font-size:17px}
.fl-shop-list{border-top:1px solid var(--fl-line)}
.fl-shop{border-bottom:1px solid var(--fl-line)}
.fl-shop>summary{display:grid;grid-template-columns:48px 1fr 32px;gap:24px;align-items:center;padding:28px 0;cursor:pointer;list-style:none}
body.nordic .editorial-type .fl-shop h3{margin:0;font-size:clamp(23px,2.5vw,32px)}
.fl-shop summary small{display:block;font-size:14px;color:var(--fl-muted);margin-top:5px;line-height:1.5}
.fl-plus{font-size:30px;font-weight:300;transition:transform .2s;text-align:center}
.fl-shop-body{margin-left:72px;padding:0 0 32px}
.fl-shop-body p{font-size:17px}
.fl-diptych{display:grid;grid-template-columns:1.35fr 1fr;gap:28px;margin-bottom:90px}
.fl-diptych img{display:block;width:100%;aspect-ratio:1.25;object-fit:cover}
.fl-diptych figure:last-child{padding-top:85px}
.fl-route-band{padding:82px 0;background:#172226;color:#fff;scroll-margin-top:65px!important}
.fl-route-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:110px;align-items:center}
.fl-route-band .fl-label{color:#b8c9c3}
body.nordic .editorial-type .fl-route-band h2{color:#fff;font-size:clamp(40px,5.4vw,68px)}
.fl-route-grid p{font-size:18px;line-height:1.7;max-width:460px;color:#c6d1ce}
.fl-route-button{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;min-height:52px;margin-top:30px;padding:15px 23px;background:#f7f7f4;color:#172226;border-radius:99px;font-size:15px;font-weight:600;line-height:1.4;text-decoration:none;transition:background .2s}
.fl-route-button:hover{background:#d6e6de}
.fl-route-grid>div>small{display:block;font-size:12px;line-height:1.5;color:#aebfba;margin-top:15px}
.fl-route-stops{padding:0;list-style:none;counter-reset:route}
.fl-route-stops li{counter-increment:route;position:relative;display:flex;align-items:center;gap:18px;padding:10px 0;font-size:17px;line-height:1.5}
.fl-route-stops li:before{content:counter(route,decimal-leading-zero);width:30px;height:30px;border:1px solid #72807e;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:11px;color:#c6d1ce;flex-shrink:0}
.fl-route-stops li:not(:last-child):after{content:'';position:absolute;left:14px;top:40px;height:20px;width:1px;background:#72807e}
.fl-plan-content{min-width:0}
.fl-tabs{display:flex;gap:6px;border-bottom:1px solid var(--fl-line);margin-bottom:30px;padding-bottom:12px}
.fl-tabs[hidden]{display:none}
.fl-tabs button{font:500 16px/1.5 CoSwitzer,Arial,sans-serif;border:1px solid transparent;border-radius:99px;min-height:46px;padding:10px 25px;color:var(--fl-muted);background:transparent;cursor:pointer}
.fl-tabs button[aria-selected=true]{color:white;background:var(--fl-ink)}
.fl-tabs button:hover{border-color:var(--fl-ink)}
.fl-plan [role=tabpanel][hidden]{display:none}
.fl-plan .fl-side>p{font-size:17px;line-height:1.7;color:var(--fl-muted)}
.fl-practical{border-top:1px solid var(--fl-line)}
.fl-practical-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.fl-practical-grid>section{min-width:0}
.fl-practical-grid>section>p{font-size:18px;color:#344144;line-height:1.8}
.fl-parking-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0}
.fl-parking-facts>div{border-left:2px solid #bbc9c1;padding:4px 0 4px 18px}
.fl-parking-facts strong{display:block;font-size:33px;letter-spacing:-.04em;line-height:1.3}
.fl-parking-facts span{font-size:13px;color:var(--fl-muted);line-height:1.5;display:block;margin-top:8px}
.fl-outro{padding-block:70px;border-top:1px solid var(--fl-line)}
.fl-source{padding-bottom:64px}
.fl-source .source-note{max-width:700px;margin-left:auto;font-size:12px;line-height:1.7;color:var(--fl-muted)}
/* Sticky reading navigation, with a native dialog for keyboard and touch access. */
.fl-readbar{position:sticky;top:0;z-index:20;background:#f7f7f4f5;backdrop-filter:blur(14px);border-bottom:1px solid var(--fl-line)}
.fl-readbar-inner{width:min(1180px,88%);margin:auto;display:flex;gap:24px;align-items:center;justify-content:space-between;min-height:72px}
.fl-bar-brand{font-size:20px;font-weight:600;letter-spacing:-.04em;line-height:1.2}
.fl-bar-brand span{font-size:12px;font-weight:400;letter-spacing:0;color:var(--fl-muted);display:block;margin-top:3px}
.fl-current{font-size:14px;color:var(--fl-muted);margin-left:auto}
.fl-bar-actions{display:flex;align-items:center;gap:25px}
.fl-bar-route{font-size:14px;white-space:nowrap}
.fl-contents-button{display:flex;align-items:center;gap:11px;border:1px solid #c6cec8;background:transparent;color:#172226;border-radius:99px;min-height:44px;padding:10px 18px;cursor:pointer;font-size:14px}
.fl-contents-button:hover{background:#e5ebe7}
.fl-list-icon{font-size:14px}
.fl-progress{position:absolute;bottom:-1px;left:0;right:0;height:2px;overflow:hidden}
.fl-progress span{display:block;width:100%;height:100%;background:var(--fl-accent);transform:scaleX(0);transform-origin:left}
.fl-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(500px,100%);max-width:100%;height:100dvh;max-height:100dvh;border:0;padding:35px clamp(24px,4vw,50px);color:#172226;background:#f7f7f4;overflow-y:auto;overscroll-behavior:contain;font-family:CoSwitzer,Arial,sans-serif;box-shadow:-20px 0 90px #09131833}
.fl-drawer[open]{animation:fl-drawer-in .28s ease-out}
.fl-drawer::backdrop{background:#0b171d88;backdrop-filter:blur(3px)}
.fl-drawer-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.fl-drawer-close{width:44px;height:44px;border:1px solid var(--fl-line);border-radius:50%;font-size:27px;line-height:1;background:transparent;color:inherit;cursor:pointer}
body.nordic .editorial-type .fl-drawer h2{font-size:43px;letter-spacing:-.045em!important;margin:60px 0 12px}
.fl-drawer>p{font-size:16px;color:var(--fl-muted);margin:0 0 32px}
.fl-drawer nav{border-top:1px solid var(--fl-line)}
.fl-drawer nav a{display:grid;grid-template-columns:25px 1fr 18px;gap:17px;align-items:center;border-bottom:1px solid var(--fl-line);padding:20px 0;font-size:19px;line-height:1.4}
.fl-drawer nav a>span{font-size:12px;color:var(--fl-muted)}
.fl-drawer nav a>b{font-size:16px;font-weight:400}
.fl-drawer nav a:hover,.fl-drawer nav a[aria-current=location]{color:var(--fl-accent)}
.fl-drawer-home{display:inline-block;margin-top:38px;font-size:14px;border-bottom:1px solid currentColor;padding-bottom:6px}
body:has(.fl-drawer[open]){overflow:hidden}
.fl-story :is(a,button,summary):focus-visible,.fl-readbar :is(a,button):focus-visible,.fl-drawer :is(a,button):focus-visible{outline:2px solid var(--fl-accent);outline-offset:5px}
body.florence-page .related-content{background:#eaf0ed;padding:70px 6%}
body.florence-page .related-content .section-head,body.florence-page .related-grid{max-width:1180px;margin-inline:auto}
body.florence-page .related-content .related-card h3{font-size:27px}
@keyframes fl-drawer-in{from{transform:translateX(35px);opacity:0}to{transform:translateX(0);opacity:1}}
@media(min-width:901px){.fl-bar-route{padding-right:24px;border-right:1px solid var(--fl-line)}}
@media(max-width:900px){.fl-wrap,.fl-readbar-inner{width:88%}.fl-current{display:none}.fl-intro,.fl-row,.fl-plan,.fl-outro{grid-template-columns:1fr;gap:28px}.fl-intro .fl-side{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px}.fl-intro-note{display:none}.fl-facts{display:flex;gap:25px;max-width:none;margin:0!important;border:0}.fl-facts>div{border:0;padding:0}.fl-prose{max-width:none}.fl-row .fl-side{position:static}.fl-row h2{margin-bottom:0!important}.fl-section-heading{gap:35px}.fl-feature{gap:35px}.fl-feature .fl-photo{top:100px}.fl-hidden-grid,.fl-practical-grid{gap:38px}.fl-route-grid{gap:50px}.fl-section{padding-block:64px}.fl-story h2 br{display:none}}
@media(max-width:700px){.florence-article-hero{min-height:720px}.florence-hero-photo,.florence-hero-video{object-position:58% center}.florence-hero-shade{background:linear-gradient(0deg,rgba(8,15,14,.82),rgba(8,15,14,.15) 72%)}.florence-hero-copy{width:88%;padding-bottom:110px}.florence-hero-copy h1{font-size:clamp(55px,19vw,82px)}.florence-hero-copy p{font-size:18px}.florence-video-toggle{right:6%}.florence-scroll{left:6%}
.fl-readbar-inner{min-height:66px;gap:12px}.fl-bar-brand{font-size:18px}.fl-bar-actions{gap:13px}.fl-bar-route{font-size:13px}.fl-bar-route>span{display:none}.fl-contents-button{font-size:13px;padding:9px 13px;gap:7px}.fl-bar-brand span{display:none}.fl-list-icon{display:none}
.fl-intro{padding:50px 0}.fl-intro .fl-side{display:block}.fl-facts{gap:20px;margin-top:22px!important}.fl-facts dd{font-size:13px!important}.fl-prose .fl-lead{font-size:23px}.fl-prose p,.fl-practical-grid>section>p{font-size:17px;line-height:1.8}.fl-section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:27px}.fl-section-heading>p{font-size:17px}.fl-overview{padding-top:46px}.fl-place-index{grid-template-columns:1fr}.fl-place-index a{padding:17px 0;gap:10px}.fl-place-index strong{font-size:18px}.fl-place-index small{font-size:13px}.fl-feature{grid-template-columns:1fr;gap:30px}.fl-feature .fl-photo{position:static}.fl-feature .fl-photo img{aspect-ratio:4/3}.fl-feature-reverse .fl-photo,.fl-feature-reverse .fl-feature-copy{grid-column:auto;grid-row:auto}.fl-feature-copy{padding-top:0}.fl-feature h2{font-size:32px!important}.fl-row{padding-block:40px}.fl-row h2{font-size:30px!important}.fl-label{font-size:11px}.fl-quote-image{min-height:440px;padding:55px 7%}.fl-hidden-band{padding-block:54px}.fl-hidden-grid,.fl-practical-grid{grid-template-columns:1fr;gap:36px}.fl-shop>summary{grid-template-columns:25px 1fr 22px;gap:14px;padding:23px 0}.fl-shop h3{font-size:23px!important}.fl-shop summary small{font-size:13px}.fl-shop-body{margin-left:0}.fl-shop-body p{font-size:16px}.fl-diptych{gap:14px;grid-template-columns:1fr 1fr;margin-bottom:60px}.fl-diptych img{aspect-ratio:3/4}.fl-diptych figure:last-child{padding-top:40px}.fl-diptych figcaption{font-size:11px}.fl-route-band{padding-block:54px}.fl-route-grid{grid-template-columns:1fr;gap:40px}.fl-route-button{font-size:14px;padding:14px 18px;width:100%;gap:16px}.fl-route-grid p{font-size:17px}.fl-route-stops{display:grid;grid-template-columns:1fr 1fr;gap:3px 18px}.fl-route-stops li{font-size:14px;gap:9px;align-items:flex-start;line-height:1.5}.fl-route-stops li:before{width:25px;height:25px;font-size:10px}.fl-route-stops li:after{display:none}.fl-plan .fl-side>p br{display:none}.fl-tabs button{flex:1}.fl-outro{padding-block:50px}.fl-source{padding-bottom:50px}.fl-drawer{padding-top:22px}.fl-drawer h2{margin-top:36px!important}.fl-drawer nav a{padding-block:17px}.fl-story [id]{scroll-margin-top:88px}.fl-practical-grid>section+section{border-top:1px solid var(--fl-line);padding-top:32px}
}
@media(max-width:360px){.fl-bar-brand{display:none}.fl-bar-actions{width:100%;justify-content:space-between}.fl-facts{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.florence-hero-video,.florence-video-toggle{display:none}.fl-drawer[open]{animation:none}.fl-story *, .fl-readbar *{scroll-behavior:auto!important;transition:none!important}}
@media print{.fl-readbar,.fl-drawer,.fl-tabs{display:none!important}.fl-plan [role=tabpanel][hidden]{display:block}.fl-feature .fl-photo,.fl-row .fl-side{position:static}}
body.nordic .fl-story .fl-route-button{color:#172226}
.fl-day-step{display:grid;grid-template-columns:64px 1fr;gap:20px;margin:22px 0;padding:20px 0;border-block:1px solid var(--fl-line)}
.fl-day-step+.fl-day-step{border-top:0;margin-top:-22px}
.fl-day-step>span{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--fl-accent);padding-top:5px}
.fl-overview-note{max-width:660px;margin:30px 0 0 auto!important;font-size:16px;line-height:1.8;color:var(--fl-muted)}
