.yf-a11y {
  position: absolute;
  left: -9999px;
  top: 0;
}

.yf-gobtn:hover {
  filter: brightness(1.08);
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

svg {
  max-width: 100%;
  display: block;
}

:root {
  --xd-sep: #eaded4;
  --xd-bg: #fdfbf8;
  --xd-tint-2: #eed6c9;
  --xd-w: 70.58rem;
  --xd-subtle: #75675e;
  --xd-ff-body: Seravek, Ubuntu, 'DejaVu Sans', sans-serif;
  --xd-br: 4px;
  --xd-s: 1.25rem;
  --xd-light: #fefefe;
  --xd-copy: #29201b;
  --xd-font-h: Optima, 'Liberation Sans', Candara, 'Gill Sans', sans-serif;
  --xd-brand: #a64d2d;
  --xd-surface: #f4ebe5;
}

*::after, *::before, * {
  box-sizing: border-box;
}

body {
  font: 16px/1.65 var(--xd-ff-body);
  overflow-wrap: break-word;
  background: var(--xd-bg);
  margin: 0;
  color: var(--xd-copy);
}

h1, h2, h3 {
  letter-spacing: 0em;
  font-family: var(--xd-font-h);
  font-weight: 600;
  line-height: 1.2;
  margin: 0 0 0.6em;
}

a {
  color: var(--xd-brand);
  text-underline-offset: 0.18em;
}

time {
  white-space: nowrap;
}

p, ul, ol, dl {
  margin: 0 0 0.98em;
}

.yf-a11y:focus {
  z-index: 9;
  padding: 0.51rem 0.78rem;
  background: var(--xd-bg);
  left: 0.98rem;
  top: 1rem;
}

a:hover {
  text-decoration-thickness: 2px;
}

h1 {
  font-size: clamp(1.87rem,3.29vw + 1.03rem,3.02rem);
}

h2 {
  font-size: clamp(1.39rem,1.53vw + 0.86rem,2.05rem);
}

h3 {
  font-size: 1.07rem;
}

address {
  font-style: normal;
}

.yf-gobtn {
  color: var(--xd-light);
  text-decoration: none;
  border-radius: var(--xd-br);
  background: var(--xd-brand);
  display: inline-block;
  border: 0;
  padding: 0.72em 1.25em;
  font-weight: 600;
}

.yf-introtext {
  max-width: 38.48em;
  font-size: 1.1em;
  color: var(--xd-subtle);
}

.yf-deva {
  color: var(--xd-subtle);
  margin-bottom: 0.76em;
  font-size: 0.8em;
  text-transform: uppercase;
  letter-spacing: 0.11em;
}

.yf-ba p {
  max-width: 43em;
}

.yf-posted {
  margin: 0 0 0.34em;
  font-size: 0.87em;
  color: var(--xd-subtle);
}

.yf-visual svg, .yf-plan svg, .yf-ka svg {
  width: 100%;
  height: auto;
  border-radius: var(--xd-br);
}

.yf-profile svg {
  border-radius: 50%;
  flex: none;
}

.yf-ma {
  font-weight: 600;
  margin: 0.6em 0 0;
  color: var(--xd-brand);
}

.yf-ma span {
  color: var(--xd-subtle);
  font-weight: 400;
}

.yf-negi {
  margin-top: 1.2em;
}

.yf-negi a {
  font-weight: 600;
}

.yf-times {
  padding: 0;
  margin: 0 0 1.01em;
  list-style: none;
}

.yf-times li {
  padding: 0.15em 0;
}

ul.yf-deck {
  list-style: none;
  padding: 0;
  margin: 0;
}

.yf-doav {
  flex: none;
  margin-bottom: 0.58rem;
  color: var(--xd-copy);
  display: inline-flex;
  border-radius: 50%;
  height: 4.14rem;
  width: 4.08rem;
  align-items: center;
  background: var(--xd-tint-2);
  justify-content: center;
  font-weight: 600;
}

.yf-asked details {
  border-bottom: 1px solid var(--xd-sep);
  padding: 0.89em 0;
}

.yf-profile {
  margin: 0;
}

.yf-profile figcaption span {
  color: var(--xd-subtle);
  font-size: 0.93em;
  display: block;
}

.yf-asked dt {
  margin-top: 1.11em;
  font-weight: 600;
}

.yf-asked dd {
  margin: 0.34em 0 0;
  color: var(--xd-copy);
}

.yf-asked summary {
  cursor: pointer;
  font-weight: 600;
}

.yf-asked details p {
  margin: 0.57em 0 0;
}

.yf-dede {
  gap: 0.99rem;
  display: flex;
  margin-top: 2.04rem;
  padding-top: 0.98rem;
  border-top: 1px solid var(--xd-sep);
  flex-wrap: wrap;
  justify-content: space-between;
}

.yf-invite p {
  font-size: 1.14em;
  margin: 0 0 0.81em;
}

.yf-invite {
  background: var(--xd-tint-2);
  padding: calc(var(--xd-s)*1.4);
  border-radius: var(--xd-br);
}

.yf-bat {
  border-bottom: 1px solid var(--xd-sep);
  background: var(--xd-bg);
}

.yf-beliefs h3 {
  margin-bottom: 0.29em;
}

.yf-pile1, .yf-bat_fu, .yf-closing_fu {
  max-width: var(--xd-w);
  margin: 0 auto;
  padding: 0 1.03rem;
}

.yf-bat_fu {
  padding-top: 0.86rem;
  flex-wrap: wrap;
  padding-bottom: 0.91rem;
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: 0.99rem;
}

.yf-va {
  text-decoration: none;
  align-items: center;
  font-family: var(--xd-font-h);
  color: var(--xd-copy);
  gap: 0.59rem;
  display: flex;
  font-size: 1.21rem;
  font-weight: 700;
}

.yf-menubar {
  flex-wrap: wrap;
  gap: 0.29rem 1.2rem;
  display: flex;
}

.yf-menubar a {
  border-bottom: 2px solid transparent;
  text-decoration: none;
  color: var(--xd-copy);
  padding: 0.21rem 0;
}

.yf-menubar a[aria-current] {
  border-bottom-color: var(--xd-brand);
}

.yf-pile1 {
  padding-top: calc(var(--xd-s)*2);
  padding-bottom: calc(var(--xd-s)*3);
}

.yf-intro {
  margin-bottom: calc(var(--xd-s)*3);
  align-items: center;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: calc(var(--xd-s)*2);
}

.yf-kafu9 {
  margin: calc(var(--xd-s)*3) 0;
}

.yf-piece svg {
  margin-bottom: 0.8rem;
}

.yf-piece {
  background: var(--xd-surface);
  border-radius: var(--xd-br);
  padding: calc(var(--xd-s)*1.1);
}

.yf-profile svg {
  margin-bottom: 0.67rem;
}

.yf-deck {
  gap: var(--xd-s);
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(14.91rem,1fr));
}

.yf-fu5 {
  border-top: 1px solid var(--xd-sep);
  padding-top: 0.97rem;
}

.yf-notes {
  gap: calc(var(--xd-s)*1.5);
  display: grid;
}

.yf-screen_to5 {
  margin-bottom: calc(var(--xd-s)*2);
  border-bottom: 1px solid var(--xd-sep);
  padding-bottom: var(--xd-s);
}

.yf-who {
  gap: calc(var(--xd-s)*1.4);
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(13.42rem,1fr));
}

.yf-where {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: calc(var(--xd-s)*2);
}

.yf-closing_fu {
  display: grid;
  gap: calc(var(--xd-s)*1.5);
  grid-template-columns: repeat(3,1fr);
}

@media (max-width:786px) {
  .yf-intro .yf-visual {
    order: -1;
  }
  .yf-intro, .yf-where, .yf-closing_fu {
    grid-template-columns: 1fr;
  }
}

.yf-closing {
  margin-top: calc(var(--xd-s)*2);
  padding: calc(var(--xd-s)*2) 0 0.96rem;
  background: var(--xd-surface);
  font-size: 0.98em;
}

.yf-closing h2 {
  margin-bottom: 0.4rem;
  font-size: 1.02rem;
}

.yf-closing_vaf {
  margin-bottom: 0.3rem;
  font-family: var(--xd-font-h);
  font-size: 1.22rem;
  font-weight: 700;
}

.yf-closing_pi8 {
  border-top: 1px solid var(--xd-sep);
  margin: 1.48rem auto 0;
  max-width: var(--xd-w);
  font-size: 0.85em;
  color: var(--xd-subtle);
  padding: 0.98rem 1rem 0;
}

.yf-closing_pi8 a {
  color: var(--xd-subtle);
}
