*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5efdf;color:#302b24;font-family:"Yu Gothic",Meiryo,sans-serif}a{color:inherit}header{max-width:1200px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:22px;gap:20px}header a:first-child{display:flex;align-items:center;gap:9px;font-weight:800;text-decoration:none}header a:last-child{font-size:13px}main{max-width:1200px;margin:auto;padding:0 24px}.intro{text-align:center;padding:60px 0 64px;background:radial-gradient(ellipse,#e9dec9aa,transparent 65%)}.eyebrow{font-size:11px;letter-spacing:3px;color:#8a5e3f}h1{font-family:KonaBrush,serif;font-size:clamp(46px,8vw,82px);letter-spacing:8px;line-height:1.35;margin:20px 0}h1 em{font-style:normal;color:#a3472a}.lead{font-weight:700;font-size:20px}.intro p{line-height:2}.intro>a{display:inline-block;margin-top:15px;text-underline-offset:7px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px;scroll-margin-top:30px}.quote{min-width:0}.paper{aspect-ratio:3/4;position:relative;padding:26px 22px;background:#fffcf3;border:1px solid #ddcfb7;box-shadow:3px 6px 15px #573a1c0a;overflow:hidden}.paper small{font-size:10px;letter-spacing:2px;color:#937a61}.verse{writing-mode:vertical-rl;font-family:KonaBrush,serif;font-weight:900;display:flex;flex-direction:column;gap:10px;font-size:clamp(16px,1.65vw,23px);line-height:1.5;letter-spacing:2px;margin:25px 0 0 auto;max-height:74%}.verse span{white-space:nowrap}.verse span:nth-child(2n){padding-top:15px}.verse span:nth-child(3n){padding-top:5px}.signature{position:absolute;bottom:29px;right:25px;font-family:serif;font-size:18px;display:flex;gap:10px;align-items:center}.signature b{border:1px solid #b84830;color:#b84830;padding:2px;font-size:14px;transform:rotate(-7deg)}.paper img{position:absolute;bottom:18px;left:15px;width:27%;height:23%;object-fit:contain;opacity:.9}.caption h2{font-size:15px;margin:17px 0 10px}.caption button{font:inherit;font-size:13px;color:#8f3b24;border:0;border-bottom:1px solid #b99579;background:none;padding:5px 0;cursor:pointer}.usage{margin:65px 0 45px;padding:30px;background:#e9e0d0;line-height:1.9}.usage h2{font-size:20px}.note{font-size:12px;color:#756551}footer{text-align:center;font-size:12px;padding:30px}dialog{border:0;border-radius:10px;padding:20px;max-width:560px;width:calc(100% - 28px);max-height:95vh;background:#f7f0e2}dialog::backdrop{background:#20160fbb}#close{display:block;margin-left:auto;padding:9px 14px;cursor:pointer}dialog h2{font-size:18px}#preview-image{display:block;max-width:100%;max-height:62vh;margin:auto;object-fit:contain}.actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:18px}.actions a{background:#773a26;color:white;padding:12px;border-radius:5px;text-decoration:none;font-size:13px}#status{text-align:center;font-size:13px}button:focus-visible,a:focus-visible{outline:3px solid #c47125;outline-offset:4px}@media(max-width:480px), (max-width:900px) and (orientation:landscape){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.verse{font-size:clamp(14px,2.6vw,22px);gap:8px}.paper{padding:22px 16px}}@media(max-width:480px), (max-width:540px) and (orientation:landscape){main{padding:0 20px}.intro{padding:35px 0 45px}.grid{grid-template-columns:1fr;gap:30px;max-width:390px;margin:auto}.verse{font-size:23px;gap:11px}.paper{padding:25px}.usage{padding:22px}header{padding:16px}.lead{font-size:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.calendar-link{display:block;margin-top:10px;font-size:13px;color:#714e36;text-underline-offset:4px}
.paper[data-id="6"] .verse{font-size:clamp(14px,1.4vw,19px)}@media(max-width:480px), (max-width:540px) and (orientation:landscape){.paper[data-id="6"] .verse{font-size:19px}}

.verse,.signature,h1{-webkit-text-stroke:.45px currentColor}.actions[hidden]{display:none}

.quote-illustrations{position:absolute;bottom:18px;left:15px;width:30%;height:25%;display:flex;align-items:flex-end;gap:2px}.paper .quote-illustrations img{position:static;width:100%;height:100%;min-width:0;object-fit:contain;opacity:1}.paper .quote-illustrations img:not(:only-child){width:50%}

.verse{gap:clamp(4px,.7vw,10px);font-size:clamp(14px,1.45vw,21px)}@media(max-width:480px), (max-width:540px) and (orientation:landscape){.verse{gap:6px;font-size:min(21px,calc(245px / var(--columns) - 6px))}.paper[data-id="6"] .verse{font-size:21px}}
/* Size the lettering to each paper, with separate text and signature areas. */
.paper{container-type:inline-size;}
.paper small{display:block;font-size:3cqw;letter-spacing:.3cqw;white-space:nowrap;}
.paper .verse,.paper[data-id="6"] .verse{position:absolute;inset:20% 7% 28%;margin:0;max-height:none;max-width:86%;font-size:min(5cqw,calc(70cqw / var(--columns)));line-height:1.4;letter-spacing:.25cqw;gap:1cqw;}
.paper .verse span:nth-child(2n){padding-top:3cqw;}
.paper .verse span:nth-child(3n){padding-top:1cqw;}
.paper .signature{bottom:7%;right:7%;font-size:5cqw;gap:2cqw;max-width:58%;}
.paper .signature b{font-size:4cqw;}
.paper .quote-illustrations{bottom:5%;left:5%;width:28%;height:20%;}
@media(min-width:481px) and (max-width:900px) and (orientation:portrait){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px;}}

/* Give phone-sized quote cards readable lettering across the paper. */
@media(max-width:480px), (max-width:540px) and (orientation:landscape){
  .paper .verse,.paper[data-id="6"] .verse{inset:17% 7% 25%;font-size:min(8cqw,calc(60cqw / var(--columns)));line-height:1.2;gap:.8cqw;letter-spacing:.2cqw;}
}

@media(min-width:481px) and (max-width:900px) and (orientation:portrait), (min-width:541px) and (max-width:900px) and (orientation:landscape){
  .paper .verse,.paper[data-id="6"] .verse{inset:17% 7% 25%;font-size:min(7.5cqw,calc(58cqw / var(--columns)));line-height:1.2;gap:.8cqw;letter-spacing:.2cqw;}
}
