.content-directory{--directory-ink:#071923;--directory-paper:#f3f6f6;--directory-cyan:#58bddd;--directory-line:#b8cbd0;padding:clamp(92px,10vw,150px) 0;background:var(--directory-paper);color:var(--directory-ink)}
.content-directory-shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.content-directory-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.65fr);gap:clamp(50px,8vw,115px);align-items:end;padding-bottom:clamp(40px,5vw,65px);border-bottom:1px solid var(--directory-line)}
.content-directory-head>div:first-child>p{margin:0 0 18px;color:#278da9;font-size:11px;font-weight:800;letter-spacing:.06em}
.content-directory-head h2{max-width:13ch;margin:0;color:var(--directory-ink);font-family:"NIKCO UI",Abar,Tahoma,sans-serif;font-size:clamp(46px,5.6vw,76px);font-weight:800;line-height:1.25;letter-spacing:-.025em;text-wrap:balance}
.content-directory-summary{display:block}.content-directory-summary>p{max-width:48ch;margin:0;color:#586f77;font-size:16px;line-height:2}
.content-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:38px;border-top:1px solid var(--directory-line);border-inline-start:1px solid var(--directory-line)}
.content-directory-card{min-width:0;border-inline-end:1px solid var(--directory-line);border-bottom:1px solid var(--directory-line);background:#fff}.content-directory-card>a{height:100%;display:grid;grid-template-rows:220px 1fr;color:var(--directory-ink);text-decoration:none;cursor:pointer}
.content-directory-card:only-child{grid-column:1/-1}.content-directory-card:only-child>a{min-height:470px;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);grid-template-rows:1fr}.content-directory-card:only-child figure{min-height:470px}
.content-directory-card figure{position:relative;margin:0;overflow:hidden;background:var(--directory-ink)}.content-directory-card figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,25,35,.04),rgba(7,25,35,.58));pointer-events:none}
.content-directory-card img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.68) contrast(1.05);transition:transform .35s cubic-bezier(.2,.7,.2,1),filter .2s ease}
.content-directory-card-copy{min-height:330px;display:flex;flex-direction:column;padding:clamp(28px,3.2vw,43px)}.content-directory-card-copy small{color:#278da9;font-size:10px;font-weight:800;letter-spacing:.06em}
.content-directory-card-copy h3{max-width:15ch;margin:34px 0 18px;color:var(--directory-ink);font-family:"NIKCO UI",Abar,Tahoma,sans-serif;font-size:clamp(30px,3vw,43px);font-weight:800;line-height:1.35;text-wrap:balance}
.content-directory-card-copy>p{max-width:48ch;margin:0 0 34px;color:#5a7078;font-size:15px;line-height:1.95}.content-directory-card-copy>span{min-height:52px;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:auto;padding-top:19px;border-top:1px solid var(--directory-line);color:var(--directory-ink);font-size:13px;font-weight:800}.content-directory-card-copy b{color:#278da9;font-size:19px}
.content-directory-card>a:hover img{transform:scale(1.025);filter:saturate(.86) contrast(1.05)}.content-directory-card>a:hover .content-directory-card-copy>span{color:#087a99}.content-directory-card>a:focus-visible{position:relative;z-index:2;outline:4px solid var(--directory-cyan);outline-offset:-4px}
.content-directory-empty{margin:38px 0 0;padding:34px;border:1px solid var(--directory-line);background:#fff;color:#536b74}
@media(max-width:820px){.content-directory-head{grid-template-columns:1fr;gap:32px}.content-directory-head h2{max-width:14ch}.content-directory-grid{grid-template-columns:1fr}.content-directory-card>a{grid-template-columns:minmax(230px,.7fr) 1fr;grid-template-rows:1fr}.content-directory-card-copy{min-height:310px}}
@media(max-width:580px){.content-directory{padding:82px 0}.content-directory-shell{width:calc(100% - 32px)}.content-directory-head h2{font-size:clamp(42px,12.5vw,58px)}.content-directory-card>a,.content-directory-card:only-child>a{min-height:0;grid-template-columns:1fr;grid-template-rows:175px 1fr}.content-directory-card:only-child figure{min-height:175px}.content-directory-card-copy{min-height:300px;padding:28px 23px}.content-directory-card-copy h3{margin-top:28px;font-size:clamp(29px,9vw,40px)}}
@media(prefers-reduced-motion:reduce){.content-directory-card img{transition:none}}

/* Keep an odd final route in the same directory grid without an empty cell. */
.content-directory--routes .content-directory-card:last-child:nth-child(odd){grid-column:1/-1}
.content-directory--routes .content-directory-card:last-child:nth-child(odd)>a{min-height:470px;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);grid-template-rows:1fr}
.content-directory--routes .content-directory-card:last-child:nth-child(odd) figure{min-height:470px}
@media(max-width:580px){.content-directory--routes .content-directory-card:last-child:nth-child(odd)>a{min-height:0;grid-template-columns:1fr;grid-template-rows:175px 1fr}.content-directory--routes .content-directory-card:last-child:nth-child(odd) figure{min-height:175px}}
