/* A quiet editorial frame: the lines describe position and offer a way forward. */
html{scroll-padding-top:104px}
.site-header{position:sticky;top:0;z-index:90;background:var(--paper);border-bottom:0;isolation:isolate}
.site-header.is-scrolled{box-shadow:0 12px 28px #2227200c}
.header-progress{position:absolute;left:var(--gutter);right:var(--gutter);bottom:0;height:1px;background:#c9ccc4;pointer-events:none}
.header-progress i{position:absolute;left:0;top:-1px;width:var(--reading-progress,0%);height:2px;background:var(--signature,#c34632)}
.header-progress b{position:absolute;left:var(--reading-progress,0%);top:0;width:6px;height:6px;border-radius:50%;background:var(--signature,#c34632);transform:translate(-50%,-50%)}
.desktop-nav a{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-height:44px;line-height:1.3}
.desktop-nav a::before{display:block;color:#767970;font-size:9px;line-height:1.1;letter-spacing:.13em}
.desktop-nav a:nth-child(1)::before{content:"01 /"}.desktop-nav a:nth-child(2)::before{content:"02 /"}.desktop-nav a:nth-child(3)::before{content:"03 /"}
.desktop-nav a::after{bottom:0;background:var(--signature,#c34632)}
.desktop-nav a[aria-current=location]::after{width:100%}
.desktop-nav a[aria-current=location]::before,.mobile-nav a[aria-current=location]{color:var(--signature,#c34632)}
.header-contact[aria-current=location]{border-bottom-color:var(--signature,#c34632);color:var(--signature,#c34632)}
.mobile-nav a[aria-current=location]{box-shadow:inset 3px 0 var(--signature,#c34632);padding-left:12px}

.page-rail{display:none}
@media(min-width:1100px){
  .page-rail{position:fixed;z-index:30;top:29vh;left:max(17px,calc((100vw - 1600px)/2 + 30px));display:flex;flex-direction:column;align-items:center;gap:12px;color:#777a72;font:10px/1.1 var(--body);letter-spacing:.04em;pointer-events:none}
  .page-rail-track{position:relative;display:block;width:1px;height:min(33vh,235px);background:#c9ccc4}
  .page-rail-track i{position:absolute;left:-.5px;top:0;width:2px;height:var(--reading-progress,0%);background:var(--signature,#c34632)}
  .page-rail-track::after{content:"";position:absolute;left:.5px;top:var(--reading-progress,0%);width:6px;height:6px;border-radius:50%;background:var(--signature,#c34632);transform:translate(-50%,-50%)}
  .page-rail span:first-child{color:var(--ink);font-weight:600}
}

.footer-top{padding-bottom:31px}
.footer-directory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--line)}
.footer-directory a{position:relative;display:flex;flex-direction:column;gap:7px;min-height:120px;padding:21px 35px 20px 18px;transition:background .25s ease}
.footer-directory a+a{border-left:1px solid var(--line)}
.footer-directory a>span{color:#747870;font-size:10px;font-weight:600;letter-spacing:.12em}
.footer-directory a strong{font-family:var(--sans);font-size:clamp(18px,1.8vw,27px);font-weight:500;letter-spacing:-.04em;line-height:1.1}
.footer-directory a b{position:absolute;right:16px;bottom:16px;font-size:20px;font-weight:400;line-height:1}
.footer-directory a:hover,.footer-directory a:focus-visible{background:#eaece6}
.footer-directory a:hover b,.footer-directory a:focus-visible b{color:var(--signature,#c34632)}
.footer-bottom{border-top:0;padding-top:24px}
.back-top{min-height:44px;white-space:nowrap;font-size:13px}

@media(max-width:760px){
  html{scroll-padding-top:91px}
  .site-header{padding-block:17px}
  .footer-directory{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-directory a{min-height:126px;padding:18px 29px 18px 13px}
  .footer-directory a:nth-child(3){border-left:0}
  .footer-directory a:nth-child(n+3){border-top:1px solid var(--line)}
  .footer-directory a strong{font-size:19px}
  .footer-bottom{display:grid;grid-template-columns:1fr auto;gap:10px 18px;font-size:12px}
  .footer-bottom nav{grid-column:1/-1;grid-row:2;gap:22px;flex-wrap:wrap}
  .footer-bottom>span:last-child{grid-column:2;grid-row:1;text-align:right}
  .footer-top>p{font-size:12px;line-height:1.5}
}
@media(max-width:370px){
  .footer-directory a strong{font-size:17px}
  .footer-directory a{padding-right:23px}
}
@media(prefers-reduced-motion:reduce){.footer-directory a{transition:none}}
