/* featherScroll presentation layer — loaded after refinements on every page. */
html { scroll-behavior: auto; }

/* 1. Bookmark shelf (replaces "More to explore" cards) */
.shelf{margin-top:1.5rem;padding-top:1.75rem;border-top:1px solid rgba(245,240,232,.1)}
.shelf-head{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.5rem;font-weight:700;color:#f5f0e8;margin:0 0 .25rem}
.shelf-note{margin:0 0 1.5rem;font-size:.9rem;color:#c3cfc2}
.shelf-rail{display:grid;grid-template-columns:1fr;gap:.9rem;list-style:none;margin:0;padding:0}
.ribbon{--c:#e0707f;position:relative;display:flex;align-items:center;gap:1rem;padding:1.15rem 2.6rem 1.15rem 1.1rem;
  color:#f5f0e8;text-decoration:none;background:linear-gradient(160deg,color-mix(in srgb,var(--c) 38%,#10241b),color-mix(in srgb,var(--c) 14%,#0f2018));
  clip-path:polygon(0 0,100% 0,calc(100% - 24px) 50%,100% 100%,0 100%);transition:transform .25s ease,filter .25s ease}
.ribbon::before{content:"";position:absolute;inset:0 0 0 0;border-left:4px solid var(--c);pointer-events:none}
.ribbon::after{content:"";position:absolute;inset:7px 30px 7px 12px;border:1px dashed color-mix(in srgb,var(--c) 55%,transparent);border-radius:4px;pointer-events:none}
.ribbon:nth-child(2){margin-right:1.2rem}.ribbon:nth-child(3){margin-right:2.4rem}
.ribbon-wild{--c:#e0707f}.ribbon-know{--c:#7aa2ff}.ribbon-day{--c:#3fd3ae}
.ribbon svg{flex:none;width:30px;height:30px;stroke:var(--c);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ribbon b{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.45rem;line-height:1.1;color:var(--c)}
.ribbon span{display:block;margin-top:.2rem;font-size:.88rem;color:#d3dccf}
.ribbon:hover,.ribbon:focus-visible{transform:translateY(6px);filter:brightness(1.12);outline:none}
.ribbon:focus-visible b{text-decoration:underline}
@media (min-width:760px){
  .shelf-rail{grid-template-columns:repeat(3,1fr);gap:1rem;align-items:start}
  .ribbon{flex-direction:column;align-items:flex-start;gap:.8rem;padding:1.3rem 1.2rem 3.6rem;
    clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 30px),0 100%)}
  .ribbon::before{border-left:0;border-top:4px solid var(--c)}
  .ribbon::after{inset:12px 10px 40px 10px}
  .ribbon:nth-child(n){margin-right:0}
  .ribbon:nth-child(1){min-height:215px}.ribbon:nth-child(2){min-height:250px}.ribbon:nth-child(3){min-height:195px}
  .ribbon:hover,.ribbon:focus-visible{transform:translateY(10px)}
}

/* 2. Paper grain: tactile, quiet */
body::after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* 3. Reading progress uses a dedicated, transform-only element (see shell.js). */

/* 4. One orchestrated entrance: home hero, once */
@media (prefers-reduced-motion:no-preference){
  .home-hero-label,.home-hero-title,.home-hero-sub{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
  .home-hero-title{animation-delay:.12s}.home-hero-sub{animation-delay:.3s}
  @keyframes rise{from{opacity:0;transform:translateY(14px)}}
}
@media (prefers-reduced-motion:reduce){.ribbon{transition:none}}

/* 5. Contact/legal: the summary becomes an airmail envelope */
.publication-summary{position:relative;overflow:hidden;padding-top:1.9rem!important}
.publication-summary::before{content:"";position:absolute;top:0;left:0;right:0;height:9px;
  background:repeating-linear-gradient(-45deg,#d9606b 0 14px,#f5f0e8 14px 22px,#5b86d6 22px 36px,#f5f0e8 36px 44px)}
.publication-summary a{overflow-wrap:anywhere}

/* ===== 6. Section skins: each series gets its own form ===== */
/* Section-card display frames match the requested 4:3 delivery crop */
.ed-grid-card-img{aspect-ratio:4/3}

/* Wild Tales: evidence photographs, taped to the wall, stamped "filed" */
.cat-wild .ed-grid{gap:1.5rem .85rem;padding-top:.6rem}
.cat-wild .ed-grid-card{--tilt:-1.1deg;position:relative;overflow:visible;padding:.5rem .5rem 0;border:0;border-radius:2px;
  background:linear-gradient(180deg,#f0e2d4 0%,#e6d3c2 100%);color:#2a1519;transform:rotate(var(--tilt));
  box-shadow:0 1px 0 #fff9 inset,0 12px 18px -10px #000c,0 2px 3px #0006;transition:transform .25s ease,box-shadow .25s ease}
.cat-wild .ed-grid-card:nth-child(even){--tilt:.9deg}
.cat-wild .ed-grid-card:nth-child(3n){--tilt:-.35deg}
.cat-wild .ed-grid-card:nth-child(5n){--tilt:1.3deg}
.cat-wild .ed-grid-card:hover,.cat-wild .ed-grid-card:focus-visible{transform:rotate(0) translateY(-4px);background:linear-gradient(180deg,#f0e2d4 0%,#e6d3c2 100%);
  box-shadow:0 1px 0 #fff9 inset,0 18px 24px -12px #000d,0 2px 3px #0006;outline:none}
/* strip of tape */
.cat-wild .ed-grid-card::before{content:"";position:absolute;z-index:3;top:-11px;left:50%;width:58px;height:20px;margin-left:-29px;transform:rotate(-3deg);
  background:linear-gradient(90deg,#e0707fcc,#e98a96cc 50%,#e0707fcc);opacity:.88;box-shadow:0 1px 2px #0004;
  clip-path:polygon(0 8%,4% 0,8% 10%,12% 0,16% 8%,84% 8%,88% 0,92% 10%,96% 0,100% 8%,100% 92%,96% 100%,92% 90%,88% 100%,84% 92%,16% 92%,12% 100%,8% 90%,4% 100%,0 92%)}
.cat-wild .ed-grid-card:nth-child(even)::before{transform:rotate(2.5deg);margin-left:-20px;background:linear-gradient(90deg,#d9b46acc,#e8cd8ecc 50%,#d9b46acc)}
/* case number on the photo */
.cat-wild .ed-grid-card[data-no]::after{content:"CASE Nº " attr(data-no);position:absolute;z-index:2;top:.95rem;left:.95rem;padding:.18rem .42rem;
  font:700 .52rem/1 "DM Sans",sans-serif;letter-spacing:.14em;color:#f5e9dc;background:#2a1519d9;border-radius:2px}
.cat-wild .ed-grid-card-img{aspect-ratio:4/3;border-radius:1px;filter:sepia(.62) contrast(1.06) brightness(.93);transition:filter .35s;box-shadow:0 0 0 1px #2a151933}
.cat-wild .ed-grid-card:hover .ed-grid-card-img,.cat-wild .ed-grid-card:focus-visible .ed-grid-card-img{filter:sepia(.1)}
.cat-wild .ed-grid-card-body{border-top:0;padding:.7rem .25rem .8rem;gap:.45rem}
.cat-wild .ed-grid-card-date{align-self:flex-start;padding:.14rem .4rem;color:#b3262f;border:1.5px solid #b3262fcc;border-radius:3px;transform:rotate(-2deg);
  font-size:.56rem;letter-spacing:.12em;mix-blend-mode:multiply;opacity:.9}
.cat-wild .ed-grid-card-title{color:#2a1519}
.cat-wild .ed-grid-card-teaser{color:#5a3a3c}
.cat-wild .ed-grid-card-read{color:#9b2332}
.cat-wild .ed-grid-card:hover .ed-grid-card-read{text-decoration:underline;text-underline-offset:3px}
/* On This Day: tear-off calendar leaves */
.cat-onthisday .ed-grid-card{border-radius:6px;border:0;background:#f3ecdc;color:#17302a;box-shadow:0 2px 0 #cfc5ac,0 5px 0 #0f2018,0 6px 0 #cfc5ac}
.cat-onthisday .ed-grid-card-body{padding-top:.4rem}
.cat-onthisday .ed-grid-card-title{color:#17302a}
.cat-onthisday .ed-grid-card-read{color:#0e7a63}
.cat-onthisday .ed-grid-card-date{display:flex;align-items:baseline;gap:.45rem;margin:0 0 .3rem;padding:.55rem .8rem;color:#f5f0e8;background:#0e7a63;border-radius:0;font-weight:500;
  -webkit-mask:radial-gradient(circle 4px at 8px 0,#0000 98%,#000) 0 0/16px 100% repeat-x;mask:radial-gradient(circle 4px at 8px 0,#0000 98%,#000) 0 0/16px 100% repeat-x}
.cat-onthisday .ed-grid-card-date .d{font-family:"Cormorant Garamond",Georgia,serif;font-size:2.3rem;font-weight:700;line-height:.9}
.cat-onthisday .ed-grid-card-date .m{font-size:.8rem}
.cat-onthisday .ed-grid-card-img{order:2;margin:.4rem .6rem 0;width:calc(100% - 1.2rem);border-radius:3px}
.cat-onthisday .ed-grid-card-body{order:3}
.cat-onthisday .ed-grid-card .ed-grid-card-date{order:0}
/* Did You Know?: blueprint plates, numbered like figures in a field manual */
.cat-knowledge .ed-grid{gap:1rem .8rem}
.cat-knowledge .ed-grid-card{--bp:#7aa2ff;position:relative;padding:.5rem .5rem 0;border:1px solid #7aa2ff66;border-radius:3px;color:#e6eeff;
  background-color:#0a1834;background-image:linear-gradient(#7aa2ff10 1px,transparent 1px),linear-gradient(90deg,#7aa2ff10 1px,transparent 1px);background-size:14px 14px;
  box-shadow:inset 0 0 0 4px #0a1834,inset 0 0 0 5px #7aa2ff40,0 10px 20px -12px #000c;transition:transform .2s ease,box-shadow .25s ease,border-color .2s}
.cat-knowledge .ed-grid-card:hover,.cat-knowledge .ed-grid-card:focus-visible{background-color:#0a1834;border-color:#9bb9ff;transform:translateY(-4px);outline:none;
  box-shadow:inset 0 0 0 4px #0a1834,inset 0 0 0 5px #9bb9ff80,0 0 0 1px #7aa2ff55,0 14px 26px -12px #3a6bffaa}
.cat-knowledge .ed-grid-card[data-no]::before{content:"FIG. " attr(data-no);position:absolute;z-index:2;top:.95rem;left:.95rem;padding:.2rem .42rem;
  font:700 .52rem/1 "DM Sans",sans-serif;letter-spacing:.16em;color:#a9c1ff;background:#0a1834e6;border:1px solid #7aa2ff80}
/* ruler along the bottom edge */
.cat-knowledge .ed-grid-card::after{content:"";display:block;height:7px;margin:0 -.5rem;flex:none;
  background:repeating-linear-gradient(90deg,#7aa2ff99 0 1px,transparent 1px 8px) 0 100%/100% 4px no-repeat,repeating-linear-gradient(90deg,#7aa2ffcc 0 1px,transparent 1px 40px) 0 100%/100% 7px no-repeat}
.cat-knowledge .ed-grid-card-img{aspect-ratio:4/3;border-radius:1px;border:1px solid #7aa2ff66;filter:saturate(.9) contrast(1.04)}
.cat-knowledge .ed-grid-card-body{border-top:0;background:#0a1834db;padding:.65rem .3rem .55rem;gap:.4rem}
.cat-knowledge .ed-grid-card-date{color:#8fb0ff;font-variant-numeric:tabular-nums;letter-spacing:.14em;padding-bottom:.35rem;border-bottom:1px dashed #7aa2ff55}
.cat-knowledge .ed-grid-card-date::before{content:"▸ ";color:#7aa2ff}
.cat-knowledge .ed-grid-card-title{color:#eef3ff}
.cat-knowledge .ed-grid-card-teaser{color:#aebfe3}
.cat-knowledge .ed-grid-card-read{color:#8fb0ff}
.cat-knowledge .ed-grid-card:hover .ed-grid-card-read{color:#fff}

/* Featured "Latest Story" banners follow their series */
.cat-wild .ed-featured-card{position:relative;overflow:visible;border-radius:4px 20px 20px 20px}
.cat-wild .ed-featured-visual{border-radius:4px 20px 20px 20px;overflow:hidden}
.cat-wild .ed-featured-card::after{content:"LATEST CASE";position:absolute;z-index:3;top:1.1rem;right:1rem;padding:.3rem .65rem;transform:rotate(4deg);
  font:700 .62rem/1 "DM Sans",sans-serif;letter-spacing:.2em;color:#ff9aa6;border:2px solid #ff9aa6cc;border-radius:4px;opacity:.9}
.cat-knowledge .ed-featured-card{border-radius:4px;border:1px solid #7aa2ff66}
.cat-knowledge .ed-featured-visual{border-radius:3px;
  background-image:linear-gradient(#7aa2ff1a 1px,transparent 1px),linear-gradient(90deg,#7aa2ff1a 1px,transparent 1px),linear-gradient(135deg,#0a1a42 0%,#050c20 100%)!important;background-size:16px 16px,16px 16px,100% 100%}
.cat-knowledge .ed-featured-card::after{content:"LATEST FIG.";position:absolute;z-index:3;top:1rem;right:1rem;padding:.3rem .6rem;
  font:700 .6rem/1 "DM Sans",sans-serif;letter-spacing:.2em;color:#a9c1ff;background:#0a1834e6;border:1px solid #7aa2ff99}
.cat-knowledge .ed-featured-card{position:relative}
@media(max-width:759px){.cat-wild .ed-featured-card::after,.cat-knowledge .ed-featured-card::after{top:.7rem;right:.7rem;font-size:.54rem}}

/* "NEW" tag on stories from the last week (set by shell.js) */
.ed-grid-card.is-new .ed-grid-card-read::after{content:"NEW";margin-left:.5rem;padding:.12rem .38rem;border-radius:99px;vertical-align:1px;
  background:#e8c97a;color:#10241b;font-size:.54rem;font-weight:700;letter-spacing:.1em}

@media(prefers-reduced-motion:reduce){.cat-wild .ed-grid-card,.cat-knowledge .ed-grid-card{transition:none}}
/* ===== 7. Mobile shell ===== */
.tabbar{display:none;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(14px);transition:opacity .22s ease,transform .22s ease,visibility .22s}
.tabbar.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}
@media (max-width:759px){
  body{padding-bottom:env(safe-area-inset-bottom,0px)}
  /* tighter page endings on phones */
  .ed-footer,.fs-footer,.ds-footer,.legal-footer,.publication-footer{margin-top:1.5rem!important;padding:1.25rem 1rem!important}
  .ed-footer-inner,.fs-footer-inner,.ds-footer-inner{gap:.6rem}
  .home-footer{padding:1rem!important}
  .fs-main,.ds-main{padding-bottom:12px!important}
  .tabbar{position:fixed;z-index:9000;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:repeat(4,1fr);
    padding:6px;border-radius:18px;background:#10231bf2;border:1px solid #d2c79430;box-shadow:0 10px 30px #0008;backdrop-filter:none}
  .tabbar a{--c:#e8c97a;position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px 6px;border-radius:12px;color:#aebcaa;text-decoration:none;font-size:.66rem;font-weight:500;-webkit-tap-highlight-color:transparent}
  .tabbar svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
  .tabbar a[aria-current]{color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent)}
  .tabbar a[aria-current]::after{content:"";position:absolute;top:-6px;width:18px;height:6px;background:var(--c);clip-path:polygon(0 0,100% 0,50% 100%);border-radius:0 0 2px 2px}
  .tabbar a:nth-child(2){--c:#e0707f}.tabbar a:nth-child(3){--c:#7aa2ff}.tabbar a:nth-child(4){--c:#3fd3ae}
  /* shorter hero so a story shows on first screen */
  .home-hero{padding-top:18px!important;padding-bottom:6px!important}
}

/* ===== 8. Article reading experience ===== */
.fs-article-body>p:first-of-type::first-letter,.ds-body>p:first-of-type::first-letter,.fs-article-body .fs-section:first-child>p:first-of-type::first-letter{
  float:left;font-family:"Cormorant Garamond",Georgia,serif;font-size:4.2em;line-height:.8;font-weight:700;padding:.06em .1em 0 0;color:#e8c97a}
.read-time{display:inline-flex;align-items:center;gap:.4rem;color:#c3cfc2;font-size:.85rem}
.read-time::before{content:"";width:14px;height:14px;border:1.5px solid currentColor;border-radius:50%;background:linear-gradient(currentColor,currentColor) 50% 25%/1.5px 5px no-repeat,linear-gradient(currentColor,currentColor) 50% 55%/5px 1.5px no-repeat}
.next-story{display:block;margin:2.5rem 0 1rem;padding:1.3rem 1.4rem 1.6rem;text-decoration:none;color:#f5f0e8;background:linear-gradient(160deg,#2a4a38,#14281f);border-top:4px solid #e8c97a;
  clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 16px),0 100%);transition:transform .25s}
.next-story small{display:block;color:#e8c97a;font-size:.8rem;margin-bottom:.4rem}
.next-story strong{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.5rem;line-height:1.2}
.next-story:hover,.next-story:focus-visible{transform:translateY(5px);outline:none}


/* Reserve the welcome slot before sign-in resolves, without touching authentication. */
#home-welcome { display:grid; align-items:center; justify-items:center; min-height:110px; transition:none; }
#home-welcome > * { grid-area:1 / 1; }
#home-welcome .pi-welcome { margin-top:0; }
.fs-article-meta, .ds-meta { min-height:26px; }
/* Mobile scrolling stays native; decoration doesn't run during touch scrolling. */
@media(max-width:759px) {
  body::before, body::after { content:none; display:none; animation:none; }
  .fs-header, .ds-header, .ed-header { backdrop-filter:none; background:#10231b; }
  .home-hero-label, .home-hero-title, .home-hero-sub { animation:none; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation:none!important; transition:none!important; }
}

/* A failed or delayed image keeps its reserved space while the reader scrolls. */
.fs-article-image, .ds-image { aspect-ratio:3 / 2; }
.ds-image-unavailable .ds-image { visibility:hidden; }

/* A single gold thread updates without changing the page's layout or scroll position. */
.fs-reading-progress { position:fixed; z-index:9999; left:0; top:0; width:100%; height:3px;
  pointer-events:none; background:linear-gradient(90deg,#c9a84c,#f1d893); transform:scaleX(0); transform-origin:left center; }


/* Subtle article image credits. */
.fs-article-image-credit, .ds-image-credit { color:#8ea395; font-size:.7rem; line-height:1.5; padding:6px 12px; }
.fs-article-image-credit a, .ds-image-credit a { color:inherit; text-decoration-color:#8ea39566; }
.fs-article-image-credit a:hover, .ds-image-credit a:hover,
.fs-article-image-credit a:focus-visible, .ds-image-credit a:focus-visible { color:#c2d2c3; }

/* Readable dates and actions within compact series cards. */
.cat-wild .ed-grid-card-date,.cat-knowledge .ed-grid-card-date{font-size:.6875rem;line-height:1.45;letter-spacing:.065em}
.cat-wild .ed-grid-card-read,.cat-knowledge .ed-grid-card-read,.cat-onthisday .ed-grid-card-read{font-size:.75rem;line-height:1.5}
@media(max-width:759px){.ed-grid-card-title{-webkit-line-clamp:4;line-clamp:4}}

/* ===== 9. Chrome: header, tab bar, footer (shared by every page) ===== */
/* header: a thin gold thread with a small diamond, and an inked underline on the section you are in */
.ed-header::after,.fs-header::after,.ds-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,#e8c97a55 22%,#e8c97acc 50%,#e8c97a55 78%,transparent)}
.ed-header::before,.fs-header::before,.ds-header::before{content:"";position:absolute;z-index:1;left:50%;bottom:-4px;width:7px;height:7px;margin-left:-3.5px;transform:rotate(45deg);pointer-events:none;background:#10231b;border:1px solid #e8c97acc}
.ed-nav-link,.fs-nav-link,.ds-nav-link{position:relative}
.ed-nav-link[href="/wild-tales"],.fs-nav-link[href="/wild-tales"],.ds-nav-link[href="/wild-tales"]{--nc:#e0707f}
.ed-nav-link[href="/knowledge"],.fs-nav-link[href="/knowledge"],.ds-nav-link[href="/knowledge"]{--nc:#7aa2ff}
.ed-nav-link[href="/on-this-day"],.fs-nav-link[href="/on-this-day"],.ds-nav-link[href="/on-this-day"]{--nc:#3fd3ae}
.ed-nav-link[aria-current],.fs-nav-link[aria-current],.ds-nav-link[aria-current]{color:var(--nc)}
.ed-nav-link[aria-current]::after,.fs-nav-link[aria-current]::after,.ds-nav-link[aria-current]::after{content:"";position:absolute;left:14%;right:14%;bottom:-5px;height:6px;pointer-events:none;
  background:var(--nc);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 6'%3E%3Cpath d='M1 3Q4 0 7 3T13 3T19 3T25 3' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 6'%3E%3Cpath d='M1 3Q4 0 7 3T13 3T19 3T25 3' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;clip-path:inset(0 100% 0 0);animation:ink-draw .7s .25s cubic-bezier(.5,0,.25,1) both}
@keyframes ink-draw{to{clip-path:inset(0)}}
[class*="brand-logo"]{transition:transform .35s cubic-bezier(.3,1.5,.5,1)}
a:hover>[class*="brand-logo"],a:focus-visible>[class*="brand-logo"]{transform:rotate(-10deg) scale(1.08)}

/* mobile tab bar: the active icon draws itself and sits on an inked wave */
.tabbar a[aria-current] svg path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .8s .1s cubic-bezier(.5,0,.25,1)}
.tabbar.is-visible a[aria-current] svg path{stroke-dashoffset:0}
.tabbar.is-visible a[aria-current] svg{animation:tab-pop .5s .1s cubic-bezier(.3,1.6,.5,1)}
@keyframes tab-pop{from{transform:scale(.78)}to{transform:none}}
@media(max-width:759px){
  .tabbar::before{content:"";position:absolute;top:0;left:18%;right:18%;height:1px;background:linear-gradient(90deg,transparent,#e8c97a88,transparent)}
  .tabbar a{padding:8px 2px 11px}
  .tabbar a[aria-current]::after{top:auto;bottom:3px;width:22px;height:5px;border-radius:0;background:var(--c);
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 6'%3E%3Cpath d='M1 3Q4 0 7 3T13 3T19 3T25 3' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 6'%3E%3Cpath d='M1 3Q4 0 7 3T13 3T19 3T25 3' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;clip-path:inset(0 100% 0 0);transition:clip-path .6s .2s cubic-bezier(.5,0,.25,1)}
  .tabbar.is-visible a[aria-current]::after{clip-path:inset(0)}
}

/* footer: an inked rule with a feather, links that underline themselves, and a way back up */
.home-footer,.ed-footer,.fs-footer,.ds-footer,.legal-footer,.publication-footer{position:relative}
.home-footer::before,.ed-footer::before,.fs-footer::before,.ds-footer::before,.legal-footer::before,.publication-footer::before{content:"";position:absolute;top:0;left:50%;width:min(300px,64%);height:14px;transform:translate(-50%,-50%);pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 14' fill='none' stroke='%23e8c97a' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7H126' stroke-opacity='.55'/%3E%3Cpath d='M174 7H294' stroke-opacity='.55'/%3E%3Cg transform='translate(143 .6) scale(.4)' stroke-width='3'%3E%3Cpath d='M25 5C14 4 7 12 9 22c8 1 17-6 16-17ZM6 27 22 9M12 21l-1-7m6 2 6-1'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}
[class*="footer-links"] a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .3s ease,color .2s}
[class*="footer-links"] a:hover,[class*="footer-links"] a:focus-visible{background-size:100% 1px}
.to-top{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin:1rem auto 0;padding:0;border:1px solid #e8c97a88;border-radius:50%;background:transparent;color:#e8c97a;cursor:pointer;
  transition:background .25s,color .25s,transform .25s cubic-bezier(.3,1.5,.5,1)}
.to-top:hover,.to-top:focus-visible{background:#e8c97a;color:#10241b;transform:translateY(-3px);outline:none}
.to-top:active{transform:scale(.94)}
/* the On This Day article's Home button had no style at all; match the other pages */
.ds-home-btn{font-size:.78rem;font-weight:500;color:#e8c97a;padding:6px 14px;border:1px solid rgba(201,168,76,.3);border-radius:8px;transition:all .2s;white-space:nowrap;text-decoration:none}
.ds-home-btn:hover{background:rgba(201,168,76,.15);border-color:rgba(201,168,76,.5)}

/* Active section remains identifiable without the ink-draw animation. */
@media(prefers-reduced-motion:reduce){
  .ed-nav-link[aria-current]::after,.fs-nav-link[aria-current]::after,.ds-nav-link[aria-current]::after{clip-path:inset(0)}
}
