/* Saints Havoc is the series. Kizuna Arcade is its home. */
body.v2{--body:'Chakra Petch',sans-serif;--display:'Dela Gothic One',sans-serif;--accent:var(--display);--series-serif:var(--display);--hand:var(--body);--signal:#b6362d;--signal-light:#f38570;font:500 1rem/1.65 var(--body)}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.v2 :is(h1,h2,h3) em{font-family:var(--series-serif);font-weight:900;font-style:normal;letter-spacing:-.055em}
body.v2 .handwritten{font:600 14px/1.5 var(--body);letter-spacing:.01em}
body.v2 .ink-link,.page-home .anime-text-link{font-size:14px;font-weight:700;min-height:44px}
.page-home .edition-label,.page-home .editorial-kicker{font-size:11px;font-weight:700;letter-spacing:.14em}
.page-home .chapter-index{font-size:11px;letter-spacing:.1em}
.saints-wordmark{display:block;width:100%}
.saints-wordmark svg{display:block;width:100%;height:auto;overflow:visible}
.page-home .cover-copy{padding-top:clamp(190px,23svh,270px);width:66%;z-index:3}
.page-home .cover-copy h1.cover-story-heading{font:inherit;margin:20px 0 0;max-width:590px;letter-spacing:0;text-transform:none;position:relative}
.page-home .cover-copy h1.cover-story-heading span{-webkit-text-stroke:0;color:inherit}
.page-home .cover-copy .cover-deck{font:400 clamp(16px,1.6vw,21px)/1.5 var(--body);margin:6px 0 27px;max-width:30ch}
.cover-deck strong{display:block;font-weight:700}
.cover-story-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.story-primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-height:54px;padding:15px 22px;background:#eee7d8;color:#202426;font:800 13px/1.4 var(--body);border:1px solid #eee7d8;transition:background .2s,color .2s}
.story-primary-link>span{font-size:23px;line-height:1;font-weight:400}
.story-primary-link:hover{background:#ceb49a;border-color:#ceb49a}
.story-cast-link{font:700 13px/1.4 var(--body);display:flex;gap:20px;align-items:center;padding:14px 0;border-bottom:1px solid #eee7d87d;min-height:48px}
.story-cast-link>span{font-size:21px}
.cover-ghost{display:none}
.cover-caption{font-size:12px}.cover-scroll{font-size:12px;font-weight:700}
.page-home .passage-copy h2{font-size:clamp(55px,6.7vw,102px);letter-spacing:-.055em;line-height:.93}
.page-home .cast-copy h2{font-size:clamp(65px,8.5vw,128px);line-height:.86;letter-spacing:-.075em}
.page-home .cast-copy h2 em{font-size:1.4em;line-height:.78;letter-spacing:-.07em;margin-left:22%}
.page-home .cast-deck p{font-size:16px}
.portrait-name{font:900 clamp(32px,4.2vw,68px)/.95 var(--display);letter-spacing:-.06em;margin-top:-62px}
.portrait-note{font:600 11px/1.4 var(--body);margin-top:32px}
.page-home .riot-copy h3{font-size:clamp(45px,5.1vw,78px);letter-spacing:-.075em;line-height:1.02}
.page-home .riot-copy h3 em{font-size:1.2em}
.page-home .place-lettering h2{font-size:clamp(73px,8.7vw,134px);letter-spacing:-.075em;line-height:.92}
.page-home .place-lettering h2 em{font-size:1.32em}
.page-home .elsewhere-heading{font-size:clamp(45px,5.8vw,91px);letter-spacing:-.065em;line-height:1.03}
.page-home .elsewhere-title h3{font-size:clamp(38px,4.1vw,62px);letter-spacing:-.06em;line-height:1.02}
.page-home .jt-editorial h3{font-size:clamp(31px,3.3vw,50px);letter-spacing:-.075em}
.page-home .listen-editorial h2{font-size:clamp(51px,6.1vw,92px);letter-spacing:-.07em;line-height:1.03}
.page-home .lore-footnote{font-size:14px}.page-home .lore-footnote strong{font-size:18px}
body.v2 .person-heading h1{font-size:clamp(90px,12vw,180px);letter-spacing:-.06em}
body.v2 .sirens-title h1{font-size:clamp(70px,8.8vw,134px);letter-spacing:-.07em;line-height:.95}
body.v2 .cast-chapter h2{font-size:clamp(50px,5.8vw,88px);letter-spacing:-.06em;line-height:1.05}
body.v2 .riot-mast h1{font-size:clamp(74px,9.2vw,140px);letter-spacing:-.055em;line-height:.96}
body.v2 .riot-portrait-label strong{font-size:clamp(32px,4.2vw,63px);letter-spacing:-.065em}
body.v2 .riot-person-copy h1{font-size:clamp(90px,10vw,150px);letter-spacing:-.065em}
body.v2 .riot-person-copy blockquote{font:900 25px/1.15 var(--series-serif);letter-spacing:-.035em}
body.v2 .riot-manifesto h2,body.v2 .riot-notes h2{font-size:clamp(44px,5vw,78px);letter-spacing:-.05em;line-height:1.08}
body.v2 .riot-section-heading h2{font-size:clamp(35px,4vw,65px);letter-spacing:-.05em}
body.v2 .mina-opening h1,body.v2 .video-opening h1{font-size:clamp(62px,8.2vw,122px);line-height:.97;letter-spacing:-.07em}
.page-gallery .explorer-name{font-family:var(--display);font-size:clamp(60px,7vw,110px);letter-spacing:-.07em;line-height:.98;max-width:12ch}
.page-gallery .explorer-friend,.page-gallery .explorer-directory-top>span{font-family:var(--body);font-style:normal;font-weight:700;font-size:12px}
.page-gallery .explorer-masthead h1{font-weight:700;font-size:14px}
.page-gallery .explorer-description{font-size:14px}
.page-gallery .explorer-stop>span{font-size:11px}
.sh-story-opening{position:relative;height:92svh;min-height:820px;max-height:1120px;isolation:isolate;overflow:hidden;background:#202426;color:#eee7d8}
.sh-story-art{position:absolute;inset:94px 0 0;z-index:-2;overflow:hidden}
.sh-story-art img{position:absolute;object-fit:cover;height:100%;width:100%;inset:0}
.sh-story-art .story-sirens{width:65%;object-position:43% center}
.sh-story-art .story-vale{left:auto;right:0;width:51%;object-position:53% center;clip-path:polygon(20% 0,100% 0,100% 100%,0 100%)}
.sh-story-art::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#141e23 1%,#14202783 37%,transparent 76%),linear-gradient(90deg,#142027a1,transparent 68%)}
.sh-story-title{position:absolute;bottom:85px;left:6%;right:6%}
.sh-story-title .sh-eyebrow{font:700 11px/1.4 var(--body);letter-spacing:.14em;margin-bottom:17px}
.sh-story-title h1{max-width:560px;margin:0 0 6px;position:relative}
.sh-story-deck{font:500 14px/1.7 var(--body);margin:0 0 27px;max-width:40ch}
.sh-story-edge{position:absolute;right:5%;bottom:70px;font:900 21px/1.2 var(--series-serif);max-width:13ch;text-align:right;letter-spacing:-.035em}
.sh-story-premise{padding:65px 6% 45px;display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:20px 50px;scroll-margin-top:115px}
.story-section-label{grid-column:1/-1;font:700 11px/1.4 var(--body);letter-spacing:.14em;text-transform:uppercase}
.sh-story-premise h2{font:900 clamp(43px,5.1vw,78px)/1.03 var(--display);letter-spacing:-.065em;margin:20px 0 0}
.sh-story-premise h2 em{font-size:1.1em}
.sh-story-premise>p{font:500 15px/1.8 var(--body);justify-self:end;margin:0 0 7px}
body.v2 .sh-door h2{font-size:clamp(40px,4.5vw,68px);letter-spacing:-.055em}
body.v2 .sh-door h2 em{display:block;font-size:1.3em}
body.v2 .sh-vale h2{font-size:clamp(60px,6.5vw,100px)}
body.v2 .sh-person{scroll-margin-top:120px}
body.v2 .sh-person h3{font:900 37px/1.08 var(--series-serif);letter-spacing:-.05em}
body.v2 .sh-eyebrow{font-size:11px}
body.v2 .sh-visit,body.v2 .sh-back{font-size:14px;font-weight:700}
body.v2 .sh-vale-cover h1{font-size:clamp(70px,8.5vw,132px);letter-spacing:-.07em}
body.v2 .sh-section-title h2,body.v2 .sh-history h2{font-size:clamp(45px,5.3vw,80px);letter-spacing:-.06em;line-height:1.05}
body.v2 .sh-pair-gallery h3{font-family:var(--series-serif);font-weight:900;line-height:1.1}
body.v2 .sh-heading::before,body.v2 .sh-dossiers::before,body.v2 .sh-red-moon::before{background-image:url('/assets/editorial-grain.webp');opacity:.08}
@media(max-width:1000px){
  .page-home .cover-copy{width:72%}.page-home .cover-copy h1.cover-story-heading{max-width:510px}
  .page-home .cast-copy h2{font-size:9vw}.page-home .cast-copy h2 em{margin-left:15%}
  .page-home .cast-deck{max-width:210px}.page-home .cast-deck p{font-size:14px}
  .portrait-name{font-size:4.2vw;margin-top:-49px}.portrait-note{font-size:10px;margin-top:26px}
  .page-gallery .explorer-name{font-size:8vw}
}
@media(max-width:760px){
  .page-home .anime-cover{height:950px;min-height:950px}
  .page-home .cover-copy{padding:455px 6% 100px;width:100%}
  .page-home .cover-copy .edition-label{font-size:9px;max-width:29ch;line-height:1.7}
  .page-home .cover-copy h1.cover-story-heading{margin:14px 0 0;max-width:none}
  .page-home .cover-copy .cover-deck{font-size:15px;line-height:1.4;margin:0 0 21px}
  .cover-story-actions{gap:16px}.story-primary-link{font-size:11px;gap:23px;padding:12px 17px;min-height:50px}.story-cast-link{font-size:11px;gap:11px;min-height:44px}
  .page-home .cover-scroll{font-size:11px}.page-home .cover-rule{height:710px}
  .page-home .passage-copy h2{font-size:15vw;line-height:1}.page-home .passage-copy{padding-top:285px}
  .page-home .cast-copy h2{font-size:17vw;line-height:.9}.page-home .cast-copy h2 em{font-size:1.6em;margin-left:12%;margin-top:2px}
  .page-home .cast-deck{max-width:240px;margin-top:35px}.page-home .cast-deck p{font-size:14px}
  .portrait-name{font-size:10vw;margin-top:-51px}.portrait-jules .portrait-name{font-size:16vw;margin-top:-69px}.portrait-note{font-size:10px;margin-top:28px}
  .page-home .riot-copy h3{font-size:13vw}.page-home .place-lettering h2{font-size:19vw;line-height:1}
  .page-home .elsewhere-heading{font-size:11vw;line-height:1.1}.page-home .elsewhere-heading em{margin-left:5%}
  .page-home .elsewhere-title h3{font-size:11vw}.page-home .jt-editorial h3{font-size:10vw}.page-home .listen-editorial h2{font-size:16vw}
  .page-home .chapter-index{font-size:9px}.page-home .edition-label,.page-home .editorial-kicker{font-size:10px}
  body.v2 .sirens-title h1{font-size:18vw;line-height:1}.page-sirens .cast-chapter h2{font-size:13vw}
  body.v2 .person-heading h1{font-size:23vw}.page-person .person-heading .handwritten{font-size:14px}
  body.v2 .person-intro h2,body.v2 .wardrobe h2,body.v2 .person-sheet h2{font-size:11vw;line-height:1.12;letter-spacing:-.055em}
  body.v2 .riot-mast h1{font-size:17vw}.riot-portrait-label strong{font-size:10vw}
  body.v2 .riot-person-copy h1{font-size:20vw}.riot-person-copy blockquote{font-size:23px}
  body.v2 .riot-manifesto h2,body.v2 .riot-notes h2{font-size:10vw}.riot-section-heading h2{font-size:10vw}
  body.v2 .mina-opening h1{font-size:14.5vw}body.v2 .video-opening h1{font-size:16vw}
  body.v2 .mina-stories h2,body.v2 .companions h2{font-size:11vw;line-height:1.06;letter-spacing:-.06em}
  .page-gallery .explorer-name{font-size:12vw;line-height:1.02;max-width:13ch}.page-gallery .explorer-description{font-size:12px}.page-gallery .explorer-masthead h1{font-size:10px}.page-gallery .explorer-directory-top>span{font-size:10px}.page-gallery .explorer-stop>span{font-size:9px}
  .sh-story-opening{height:950px;min-height:950px}.sh-story-art{top:80px}.sh-story-art .story-sirens{width:100%;height:66%;object-position:57% center}.sh-story-art .story-vale{top:0;width:50%;height:70%;object-position:50% top;opacity:1}
  .sh-story-art::after{background:linear-gradient(0deg,#172329 12%,#172329a6 40%,transparent 82%)}
  .sh-story-art img{mask-image:linear-gradient(#000 75%,transparent)}
  .sh-story-title{left:6%;right:6%;bottom:110px}.sh-story-title .sh-eyebrow{font-size:9px;margin-bottom:18px}.sh-story-title h1{max-width:440px}
  .sh-story-deck{font-size:12px;margin-top:0}.sh-story-edge{bottom:32px;right:6%;font-size:18px;max-width:none}
  .sh-story-premise{padding:45px 7% 38px;grid-template-columns:1fr;gap:22px}.sh-story-premise h2{font-size:11vw;margin:0}.sh-story-premise>p{justify-self:start;font-size:14px}.story-section-label{font-size:10px}
  body.v2 .sh-door h2{font-size:11vw}.sh-door h2 em{font-size:1.4em}.sh-vale h2{font-size:15vw}
  body.v2 .sh-vale-cover h1{font-size:18vw}.sh-section-title h2,.sh-history h2{font-size:11vw}
  body.v2 .sh-pair-gallery h3{font-size:29px}
}
@media(max-width:360px){.page-home .anime-cover{height:930px;min-height:930px}.page-home .cover-story-actions{gap:4px 18px}.story-cast-link{font-size:10px}.page-home .cover-copy .cover-deck{font-size:14px}}
@media(prefers-reduced-motion:reduce){.story-primary-link{transition:none}}
