/* generated by render-qck-site.ts — do not hand-edit (gitignored output) */
*{box-sizing:border-box;margin:0}
:root{--radius:0.125rem}
html{scroll-behavior:smooth}
body{background:#FFF9F5;color:#24171B;font-family:'Noto Sans', 'Hiragino Kaku Gothic ProN', system-ui, sans-serif;line-height:1.65;font-size:1.0625rem;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Noto Serif JP', 'Yu Mincho', Georgia, serif;line-height:1.2;color:#24171B}
a{color:#8A2948}
a:hover{opacity:.85}
img{max-width:100%}
code{background:#E9D5D4;padding:.1em .35em;border-radius:4px;font-size:.9em}
.xoya{position:absolute;left:-9999px;top:0;background:#8A2948;color:#FFFFFF;padding:.5rem 1rem;z-index:9}
.xoya:focus{left:0}
.kcvx{max-width:72rem;margin:0 auto;padding:0 1.5rem}
.jtzl{font-family:'Noto Serif JP', 'Yu Mincho', Georgia, serif;font-weight:700;font-size:1.25rem;text-decoration:none;color:inherit}
.xnpx{color:#65515A;font-size:.85rem}
.psjm{display:flex;flex-wrap:wrap;gap:1.1rem}
.pkaq{text-decoration:none;color:inherit;font-size:.95rem}
.pkaq:hover{color:#8A2948;opacity:1}
.uphh{display:none;background:none;border:1px solid currentColor;border-radius:6px;color:inherit;width:2.6rem;height:2.3rem;padding:.45rem .55rem;cursor:pointer;flex-direction:column;justify-content:space-between}
.uphh span{display:block;height:2px;background:currentColor;border-radius:2px}
.uphh[aria-expanded="true"] span:nth-child(2){opacity:0}
.sywi{border-bottom:1px solid #D6BDBF;background:#FFF9F5} .sywi .kcvx{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem}
.qgxi{background:#F5E8E5;border-bottom:1px solid #D6BDBF} .qgxi .kcvx{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:2.5rem;padding:4.08rem 1.5rem}
.dkqf{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:#8A2948;font-weight:600;margin-bottom:.8rem}
.oars{font-size:clamp(1.9rem,4.5vw,3rem);margin-bottom:1rem}
.jdsv{font-size:1.15rem;color:#65515A;max-width:44rem;margin:0 auto}
.fgrq{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin-top:1.4rem}
.ezua{border:1px solid #D6BDBF;background:#F5E8E5;border-radius:999px;padding:.3rem .85rem;font-size:.85rem}
.byao{padding:3.12rem 0}
/* the measure fix: prose column CENTERED in the container, never pinned left */
.zyfo,.jvrs,.fjwf{max-width:46rem;margin-left:auto;margin-right:auto}
.zyfo{padding:1.68rem 0}
.zyfo h2{font-size:1.6rem;margin-bottom:.8rem}
.zyfo h3{font-size:1.2rem;margin:.9rem 0 .5rem}
.zyfo p,.zyfo li,.jvrs p{margin-bottom:.85rem}
.zyfo ul,.zyfo ol{padding-left:1.4rem}
.jvrs{font-size:1.12rem}
.fjwf{background:#F5E8E5;border:1px solid #D6BDBF;border-radius:var(--radius);padding:1.2rem 1.4rem;margin-bottom:1.92rem}
.eube{overflow-x:auto;margin:1rem 0}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{border:1px solid #D6BDBF;padding:.55rem .7rem;text-align:left;vertical-align:top}
th{background:#F5E8E5}
blockquote{border-left:4px solid #8A2948;padding:.2rem 0 .2rem 1rem;color:#65515A;margin:1rem 0}
.dvzw{max-width:46rem;margin:2.16rem auto;background:#efdddc;border:1px solid #D6BDBF;border-radius:var(--radius);padding:1.4rem 1.6rem}
.ncme{font-size:1.25rem;margin-bottom:.7rem}
.ltkp{list-style:none;padding:0;margin-top:.8rem;display:grid;gap:.45rem}
.golu{padding-left:1.1rem;position:relative;font-size:.95rem}
.golu::before{content:"";position:absolute;left:0;top:.55em;width:.45em;height:.45em;border-radius:50%;background:#8A2948}
.gxhr{max-width:46rem;margin:2.16rem auto;padding:0;list-style:none;counter-reset:src}
.gclp{border-top:1px solid #D6BDBF;padding:.9rem 0 .9rem 2.2rem;position:relative;counter-increment:src}
.gclp::before{content:counter(src);position:absolute;left:0;top:.95rem;font-family:'Noto Serif JP', 'Yu Mincho', Georgia, serif;font-weight:700;color:#8A2948}
.iefk{margin-bottom:.3rem}
.cavk{font-size:.88rem;color:#65515A}
.faoc{max-width:46rem;margin:0 auto}
.cdpk{border-bottom:1px solid #D6BDBF;padding:1.32rem 0}
.ffup{font-size:1.15rem;margin-bottom:.5rem}
.ohns{color:#24171B}
.boge{background:#e1dad7;border-top:1px solid #D6BDBF;border-bottom:1px solid #D6BDBF;margin:2.4rem 0 0}
.avdd{max-width:46rem;margin:0 auto;padding:2.64rem 1.5rem;text-align:center}
.avdd h2{margin-bottom:.7rem}
.avdd p{margin-bottom:1.1rem}
.jcqb{display:inline-block;background:#8A2948;color:#FFFFFF;text-decoration:none;font-weight:600;padding:.8rem 1.8rem;border-radius:var(--radius)}
.jcqb:hover{opacity:.9}

.vmyq{font-size:1.45rem;margin-bottom:.45rem}
.auhv p{margin-bottom:.55rem}
.auhv p:last-child{margin-bottom:0}
.jumh{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.35rem .95rem;margin:.6rem 0 0;font-size:.92rem}
.jsep{display:inline-block;font-weight:700;font-size:1.05rem;padding:1rem 2rem;border-radius:var(--radius);text-decoration:none;white-space:nowrap}
.jsep:hover{opacity:.92}
.xlwe{padding:1.5rem 1.5rem 0}
.jiml{max-width:60rem;margin:0 auto;background:#ddd7d4;border:2px dashed #315C56;border-radius:var(--radius);padding:1.4rem 1.7rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1.2rem 1.8rem;align-items:center}
.aoip{display:inline-block;background:#24171B;color:#FFFFFF;font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.55rem .8rem;transform:rotate(-4deg);border-radius:3px;text-align:center;max-width:7rem;line-height:1.25}
.jumh{color:#504d4c}
.mjdk::before{content:"\2713\00a0";color:#24171B}
.jsep{background:#8A2948;color:#FFFFFF}
@media (max-width:720px){.jiml{display:block} .aoip{transform:none;max-width:none;margin-bottom:.6rem} .jsep{display:block;text-align:center;margin-top:1rem}}
.awsj{background:#24171B;color:#FFFFFF} .awsj a{color:inherit}
.awsj .kcvx{padding:2.64rem 1.5rem}
.bbbc{display:grid;grid-template-columns:2fr 1fr;gap:2rem;margin-bottom:1.4rem}
.dvwo{font-style:italic;margin-bottom:.8rem}
.ndbr{font-size:.9rem;margin-bottom:.8rem}
.fiah{font-size:.85rem;color:#65515A}
.awsj .fiah{opacity:.85}
.grxu{color:#65515A;font-size:.92rem}
.awsj .xnpx,.awsj .grxu{color:#969092}
.awsj .fiah{color:#898284;opacity:1}
@media(max-width:760px){
  .qgxi .kcvx{grid-template-columns:1fr;gap:1.5rem}
  .bbbc{grid-template-columns:1fr}
  .sywi .kcvx{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem;padding:.9rem 1.5rem;text-align:left}
  .sywi .psjm{border-top:0;padding-top:0}
  .sywi .uphh{display:flex}
  .sywi .psjm{display:none;flex-basis:100%;flex-direction:column;gap:0;border-top:1px solid #D6BDBF;padding-top:.4rem;margin-top:.4rem}
  .sywi .psjm[data-open="true"]{display:flex}
  .sywi .pkaq{display:block;padding:.6rem 0;font-size:1.05rem}
}

/* ---- per-site theme layer ---- */
/* Sakura field notebook: warm paper, disciplined rules, and one seal-like icon language. */
:root {
  --jp-paper: #fff9f5;
  --jp-blush: #f5e8e5;
  --jp-petal: #e9d5d4;
  --jp-plum: #8a2948;
  --jp-pine: #315c56;
  --jp-ink: #24171b;
  --jp-muted: #65515a;
  --jp-line: #d6bdbf;
  --jp-measure: 68ch;
}

html { scroll-behavior: smooth; }
body {
  background:
    linear-gradient(90deg, transparent 0 5.5vw, rgba(138,41,72,.055) 5.5vw calc(5.5vw + 1px), transparent calc(5.5vw + 1px)),
    #fff9f5;
  color: #24171b;
  font-feature-settings: "kern" 1, "palt" 1;
}
img { max-width: 100%; height: auto; }
main { overflow: clip; }
::selection { background: #e9d5d4; color: #24171b; }

.xoya:focus {
  outline: 3px solid #8a2948;
  outline-offset: 3px;
}

/* Masthead and wordmark */
.sywi {
  background: rgba(255,249,245,.96);
  border-top: 4px solid #8a2948;
  border-bottom: 1px solid #d6bdbf;
  box-shadow: 0 10px 30px rgba(36,23,27,.045);
}
.sywi .kcvx { min-height: 5.75rem; }
.jtzl {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  color: #24171b;
  font-family: 'Noto Serif JP', 'Yu Mincho', Georgia, serif;
  font-size: clamp(1.02rem, 1.5vw, 1.35rem);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1;
}
.jtzl::before {
  content: "J·P";
  display: grid;
  place-items: center;
  width: 2.45rem;
  height: 2.45rem;
  border: 1px solid #8a2948;
  color: #8a2948;
  background: #fff9f5;
  font-family: 'Noto Sans', system-ui, sans-serif;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  transform: rotate(-3deg);
  box-shadow: inset 0 0 0 3px #fff9f5, inset 0 0 0 4px #e9d5d4;
}
.jtzl::after {
  content: "";
  position: absolute;
  left: 3.2rem;
  right: 0;
  bottom: -.42rem;
  height: 2px;
  background: linear-gradient(90deg, #8a2948 0 38%, #d6bdbf 38% 100%);
}
.gkwk { color: #8a2948; font-weight: 700; }
.xnpx {
  margin-top: .55rem;
  color: #65515a;
  font-size: .74rem;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.psjm { gap: clamp(.35rem, 1vw, .9rem); }
.pkaq {
  position: relative;
  color: #24171b;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .065em;
  text-transform: uppercase;
  padding: .55rem .15rem;
}
.pkaq::after {
  content: "";
  position: absolute;
  left: .15rem;
  right: 100%;
  bottom: .28rem;
  height: 2px;
  background: #8a2948;
  transition: right .2s ease;
}
.pkaq:hover::after,
.pkaq:focus-visible::after { right: .15rem; }
.uphh {
  border: 1px solid #d6bdbf;
  border-radius: 0;
  color: #24171b;
  background: #fff9f5;
}

/* Asymmetric framed hero with abstract cherry blossom field */
.qgxi {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(circle at 83% 21%, rgba(138,41,72,.11) 0 7px, transparent 8px),
    radial-gradient(ellipse at 78% 30%, rgba(138,41,72,.12) 0 18px, transparent 19px),
    radial-gradient(ellipse at 88% 31%, rgba(138,41,72,.09) 0 23px, transparent 24px),
    linear-gradient(111deg, #fff9f5 0 58%, #f5e8e5 58% 100%);
  border-bottom: 1px solid #d6bdbf;
}
.qgxi::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 1.6rem;
  right: max(2vw, calc((100vw - 1180px) / 2));
  width: min(35vw, 28rem);
  aspect-ratio: 1;
  border: 1px solid #d6bdbf;
  transform: rotate(4deg);
  background:
    radial-gradient(ellipse at 50% 22%, transparent 0 17%, rgba(138,41,72,.14) 18% 27%, transparent 28%),
    radial-gradient(ellipse at 77% 49%, transparent 0 17%, rgba(138,41,72,.12) 18% 27%, transparent 28%),
    radial-gradient(ellipse at 64% 77%, transparent 0 17%, rgba(138,41,72,.1) 18% 27%, transparent 28%),
    radial-gradient(ellipse at 35% 76%, transparent 0 17%, rgba(138,41,72,.11) 18% 27%, transparent 28%),
    radial-gradient(ellipse at 22% 48%, transparent 0 17%, rgba(138,41,72,.13) 18% 27%, transparent 28%);
  opacity: .82;
}
.qgxi::after {
  content: "LOAD / REST / NOTICE";
  position: absolute;
  right: clamp(1rem, 4vw, 4rem);
  bottom: 1rem;
  color: #65515a;
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .24em;
  writing-mode: vertical-rl;
}
.bclz {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(15rem, .55fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: end;
  padding-top: clamp(4rem, 8vw, 7rem);
  padding-bottom: clamp(4rem, 8vw, 7.5rem);
}
.bclz::before {
  content: "01";
  position: absolute;
  top: 2rem;
  left: 0;
  color: #8a2948;
  font-family: 'Noto Serif JP', Georgia, serif;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
}
.dkqf {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  color: #8a2948;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.dkqf::before {
  content: "";
  width: 2.7rem;
  height: 1px;
  background: #8a2948;
}
.oars {
  max-width: 14ch;
  margin-top: 1.15rem;
  color: #24171b;
  font-family: 'Noto Serif JP', 'Yu Mincho', Georgia, serif;
  font-size: clamp(2.75rem, 6.7vw, 6.35rem);
  font-weight: 600;
  line-height: .98;
  letter-spacing: -.065em;
  text-wrap: balance;
}
.oars::first-line { color: #8a2948; }
.jdsv {
  max-width: 58ch;
  margin-top: 1.5rem;
  color: #65515a;
  font-size: clamp(1.02rem, 1.5vw, 1.22rem);
  line-height: 1.78;
}
.hbqu {
  position: relative;
  margin-bottom: .5rem;
  padding: 1.25rem 1.15rem 1.25rem 1.6rem;
  border-left: 1px solid #8a2948;
  background: rgba(255,249,245,.78);
  backdrop-filter: blur(2px);
}
.fgrq { display: grid; gap: .65rem; }
.ezua {
  position: relative;
  padding: .25rem 0 .7rem 1.2rem;
  border: 0;
  border-bottom: 1px solid #d6bdbf;
  border-radius: 0;
  background: transparent;
  color: #24171b;
  font-size: .8rem;
  line-height: 1.45;
}
.ezua::before {
  content: "◇";
  position: absolute;
  left: 0;
  top: .19rem;
  color: #8a2948;
  font-size: .72rem;
}

/* Above-fold recommendation: a clipped ticket pinned to the paper */
.xlwe {
  position: relative;
  z-index: 2;
  background: #fff9f5;
  border-bottom: 1px solid #d6bdbf;
}
.jiml {
  position: relative;
  margin-top: -1.3rem;
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
  padding: clamp(1.5rem, 3vw, 2.4rem);
  border: 1px dashed #8a2948;
  background:
    linear-gradient(135deg, transparent 0 13px, #f5e8e5 14px) top left,
    linear-gradient(225deg, transparent 0 13px, #f5e8e5 14px) top right,
    linear-gradient(45deg, transparent 0 13px, #f5e8e5 14px) bottom left,
    linear-gradient(315deg, transparent 0 13px, #f5e8e5 14px) bottom right;
  background-size: 52% 52%;
  background-repeat: no-repeat;
  box-shadow: 11px 11px 0 #e9d5d4;
}
.jiml::before {
  content: "選";
  position: absolute;
  top: -1.2rem;
  right: 2rem;
  display: grid;
  place-items: center;
  width: 2.7rem;
  height: 2.7rem;
  border-radius: 50%;
  border: 1px solid #8a2948;
  background: #fff9f5;
  color: #8a2948;
  font-family: 'Noto Serif JP', Georgia, serif;
  font-size: 1rem;
}
.aoip {
  background: #fff9f5;
  color: #8a2948;
  font-size: .69rem;
  font-weight: 700;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.vmyq {
  max-width: 23ch;
  color: #24171b;
  font-family: 'Noto Serif JP', Georgia, serif;
  font-size: clamp(1.55rem, 3vw, 2.45rem);
  line-height: 1.17;
  letter-spacing: -.035em;
}
.auhv { max-width: 61ch; color: #65515a; line-height: 1.72; }
.jumh { display: grid; gap: .48rem; }
.mjdk {
  position: relative;
  padding-left: 1.5rem;
  color: #24171b;
  font-size: .9rem;
}
.mjdk::before {
  content: "◇";
  position: absolute;
  left: 0;
  color: #8a2948;
}
.jsep, .jcqb {
  border: 1px solid #8a2948;
  border-radius: 0;
  background: #8a2948;
  color: #fff;
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  box-shadow: 5px 5px 0 #24171b;
  transition: transform .18s ease, box-shadow .18s ease;
}
.jsep::after, .jcqb::after { content: "  →"; }
.jsep:hover, .jcqb:hover {
  transform: translate(2px,2px);
  box-shadow: 3px 3px 0 #24171b;
}

/* Long-form rhythm */
.byao { padding-top: clamp(3.5rem, 7vw, 7rem); }
.jvrs {
  position: relative;
  max-width: 60rem;
  margin-bottom: clamp(3.5rem, 6vw, 6rem);
  padding: clamp(1.6rem, 3.5vw, 3rem) clamp(1.4rem, 4vw, 4rem);
  border-left: 3px solid #8a2948;
  background: #f5e8e5;
  color: #24171b;
  font-size: clamp(1.05rem, 1.35vw, 1.2rem);
  line-height: 1.82;
}
.jvrs::after {
  content: "読";
  position: absolute;
  right: 1rem;
  top: -.9rem;
  color: #8a2948;
  font-family: 'Noto Serif JP', Georgia, serif;
  font-size: 1.3rem;
}
.fjwf {
  margin: 0 auto clamp(3rem, 6vw, 5rem);
  padding-bottom: 2.2rem;
  border-bottom: 1px solid #d6bdbf;
}
.zyfo {
  position: relative;
  max-width: var(--jp-measure);
  margin: 0 auto;
  padding: clamp(2.9rem, 6vw, 5rem) 0;
}
.zyfo + .zyfo { border-top: 1px solid #d6bdbf; }
.zyfo + .zyfo::before {
  content: "";
  position: absolute;
  top: -5px;
  left: 0;
  width: 9px;
  height: 9px;
  border: 1px solid #8a2948;
  background: #fff9f5;
  transform: rotate(45deg);
}
.zyfo h2 {
  position: relative;
  max-width: 24ch;
  margin-bottom: 1.45rem;
  padding-left: 2rem;
  color: #24171b;
  font-family: 'Noto Serif JP', 'Yu Mincho', Georgia, serif;
  font-size: clamp(1.75rem, 3.2vw, 2.75rem);
  font-weight: 600;
  line-height: 1.18;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.zyfo h2::before {
  content: "◇";
  position: absolute;
  left: 0;
  top: .19em;
  color: #8a2948;
  font-family: 'Noto Sans', system-ui, sans-serif;
  font-size: .55em;
}
.zyfo h3 {
  margin-top: 2rem;
  color: #315c56;
  font-family: 'Noto Sans', system-ui, sans-serif;
  font-size: .92rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.zyfo p, .zyfo li { line-height: 1.82; }
.zyfo strong { color: #8a2948; font-weight: 700; }
.zyfo blockquote {
  margin: 2rem 0;
  padding: 1.2rem 1.6rem;
  border-left: 1px solid #8a2948;
  background: #f5e8e5;
  color: #24171b;
  font-family: 'Noto Serif JP', Georgia, serif;
  font-size: 1.08rem;
}
.eube {
  border: 1px solid #d6bdbf;
  box-shadow: 7px 7px 0 #e9d5d4;
}
table { background: #fff9f5; }
th { background: #e9d5d4; color: #24171b; }
th, td { border-color: #d6bdbf; }

/* Phoenix local field card */
.dvzw {
  position: relative;
  margin-top: clamp(3rem, 6vw, 6rem);
  padding: clamp(2rem, 4vw, 4rem);
  border: 0;
  border-top: 1px solid #8a2948;
  border-bottom: 1px solid #8a2948;
  border-radius: 0;
  background:
    linear-gradient(90deg, #f5e8e5 0 68%, #e9d5d4 68% 100%);
  box-shadow: inset 0 8px 0 #fff9f5, inset 0 -8px 0 #fff9f5;
}
.dvzw::before {
  content: "PHX / FIELD NOTES";
  position: absolute;
  top: 1.1rem;
  right: 1.25rem;
  color: #8a2948;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .18em;
}
.ncme {
  max-width: 22ch;
  color: #24171b;
  font-family: 'Noto Serif JP', Georgia, serif;
  font-size: clamp(1.6rem, 3vw, 2.5rem);
  letter-spacing: -.035em;
}
.ltkp { gap: 0; }
.golu {
  position: relative;
  padding: 1.15rem 1rem 1.15rem 2rem;
  border: 0;
  border-top: 1px solid #d6bdbf;
  background: transparent;
  color: #24171b;
}
.golu::before {
  content: "⌖";
  position: absolute;
  left: .2rem;
  color: #8a2948;
  font-size: 1rem;
}

/* FAQ, sources, and conversion band */
.faoc { counter-reset: faq; }
.cdpk {
  counter-increment: faq;
  margin: 0;
  padding: 1.4rem 0 1.6rem;
  border: 0;
  border-bottom: 1px solid #d6bdbf;
  border-radius: 0;
  background: transparent;
}
.ffup {
  position: relative;
  padding-left: 3.2rem;
  color: #24171b;
  font-family: 'Noto Serif JP', Georgia, serif;
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  line-height: 1.4;
}
.ffup::before {
  content: "問" counter(faq);
  position: absolute;
  left: 0;
  top: -.15rem;
  color: #8a2948;
  font-family: 'Noto Sans', system-ui, sans-serif;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .06em;
}
.ohns { padding-left: 3.2rem; color: #65515a; line-height: 1.75; }
.gxhr {
  position: relative;
  margin-top: 4rem;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border: 1px solid #d6bdbf;
  border-radius: 0;
  background: #fff9f5;
  box-shadow: 8px 8px 0 #e9d5d4;
}
.gxhr::before {
  content: "SOURCE LEDGER";
  position: absolute;
  right: 1.25rem;
  top: -1px;
  padding: .4rem .7rem;
  background: #8a2948;
  color: #fff;
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .16em;
}
.gclp {
  position: relative;
  padding: 1.1rem 0 1.1rem 2rem;
  border-bottom: 1px dotted #d6bdbf;
}
.gclp::before {
  content: "※";
  position: absolute;
  left: 0;
  color: #8a2948;
}
.iefk { color: #24171b; }
.cavk { color: #65515a; }
.boge {
  position: relative;
  background:
    linear-gradient(118deg, #e9d5d4 0 31%, #f5e8e5 31% 100%);
  border-top: 1px solid #d6bdbf;
  border-bottom: 1px solid #d6bdbf;
  color: #24171b;
}
.boge::before {
  content: "";
  position: absolute;
  left: 4vw;
  top: 50%;
  width: 6rem;
  height: 6rem;
  border: 1px solid #8a2948;
  border-radius: 50%;
  transform: translateY(-50%);
  opacity: .28;
}
.avdd { position: relative; }
.boge h2 {
  color: #24171b;
  font-family: 'Noto Serif JP', Georgia, serif;
  font-size: clamp(1.8rem, 3.6vw, 3rem);
  letter-spacing: -.04em;
}
.boge p { color: #65515a; }

/* Footer as an inked colophon */
.awsj {
  position: relative;
  background: #24171b;
  border-top: 5px solid #8a2948;
}
.awsj::before {
  content: "J·P";
  position: absolute;
  right: clamp(1.5rem, 5vw, 5rem);
  top: 2.5rem;
  display: grid;
  place-items: center;
  width: 3.2rem;
  height: 3.2rem;
  border: 1px solid #e9d5d4;
  color: #fff;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
}
.bbbc { border-bottom: 1px solid rgba(233,213,212,.3); }
.fkgy h2, .fkgy h3 { color: #fff; font-family: 'Noto Serif JP', Georgia, serif; }
.fkgy a { color: #fff; text-decoration-color: #e9d5d4; text-underline-offset: .22em; }
.dvwo, .ndbr, .fiah { color: #e9d5d4; }
.ndbr {
  padding-left: 1rem;
  border-left: 1px solid #e9d5d4;
}
.grxu { color: #65515a; }

@media (max-width: 900px) {
  .bclz { grid-template-columns: minmax(0, 1fr) minmax(13rem, .45fr); }
  .oars { font-size: clamp(2.7rem, 8vw, 4.8rem); }
  .qgxi::before { width: 42vw; opacity: .5; }
}

@media (max-width: 760px) {
  .sywi .kcvx { min-height: auto; }
  .jtzl { max-width: calc(100vw - 7rem); }
  .sywi .psjm[data-open="true"] {
    padding-bottom: .65rem;
  }
  .pkaq { width: 100%; padding: .7rem 0; }
  .qgxi::before { right: -6rem; top: 4rem; width: 18rem; opacity: .32; }
  .qgxi::after { display: none; }
  .bclz {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding-top: 4.6rem;
    padding-bottom: 4rem;
  }
  .oars { max-width: 12ch; font-size: clamp(2.65rem, 13vw, 4rem); }
  .hbqu { max-width: 100%; margin: 0; }
  .jiml { margin-left: .25rem; margin-right: .55rem; box-shadow: 7px 7px 0 #e9d5d4; }
  .jiml::before { right: 1rem; }
  .jvrs { margin-left: 0; margin-right: 0; padding: 1.5rem 1.25rem; }
  .zyfo { padding: 2.8rem 0; }
  .zyfo h2 { padding-left: 1.6rem; }
  .dvzw { margin-left: -.35rem; margin-right: -.35rem; padding: 2.8rem 1.25rem 1.8rem; }
  .dvzw::before { left: 1.25rem; right: auto; }
  .ffup, .ohns { padding-left: 2.6rem; }
  .gxhr { padding: 2.8rem 1.1rem 1.3rem; box-shadow: 5px 5px 0 #e9d5d4; }
  .gxhr::before { left: 1.1rem; right: auto; }
  .boge::before { display: none; }
  .awsj::before { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .pkaq::after, .jsep, .jcqb { transition: none; }
}
