 .family-review-section{padding:22px 0;background:#f3f6f0}.family-review-panel{padding:30px;border:1px solid #dce5d9;border-radius:18px;background:#fff}.family-review-kicker{font-size:13px;color:#57765f;font-weight:700}.family-review-panel h2{font-size:28px;line-height:1.5;margin:8px 0 12px;color:#234e3e}.family-review-panel p{font-size:15px;color:#6b786c;line-height:1.8;margin:0 0 18px}.family-review-link{display:inline-block;padding:12px 18px;border:1px solid #c6d5c7;border-radius:9px;color:#234e3e;font-size:14px;background:#f7f9f3}.family-review-empty{padding:24px;border-radius:12px;background:#f5f7f1;line-height:1.8;color:#647565}.family-review-page{max-width:900px;margin:auto;padding:35px 22px 70px}@media(max-width:650px){.family-review-panel{padding:24px 18px}.family-review-panel h2{font-size:24px}.family-review-panel p{font-size:14px}.family-review-page h1{font-size:28px;line-height:1.5}}
.family-review-panel{display:grid;grid-template-columns:minmax(0,1fr) 38%;gap:28px;align-items:center}.family-review-copy{min-width:0}.family-review-image{display:block;width:100%;height:220px;object-fit:cover;border-radius:12px}@media(max-width:650px){.family-review-panel{grid-template-columns:minmax(0,1fr);gap:20px}.family-review-image{height:180px;object-position:center}}

.family-letter-preview{position:relative;min-width:0;border-radius:12px;overflow:hidden;background:#f4f0e7}.family-letter-preview .family-review-image{height:270px;border-radius:0}.family-example-label{position:absolute;top:12px;left:12px;right:12px;z-index:1;background:#fffef2ef;border:1px solid #ded7bb;border-radius:6px;padding:6px 8px;font-size:11px;color:#625b40;line-height:1.5}.family-letter-caption{position:absolute;left:16px;right:16px;bottom:35px;padding:16px;background:#fffffff2;border:1px solid #e5dfd2;border-radius:8px;box-shadow:0 4px 15px #3e47200d}.family-example-title{display:block;min-height:64px;font-size:20px;font-weight:700;line-height:1.6;color:#234e3e;word-break:keep-all;overflow-wrap:anywhere}.family-letter-caption small{display:block;margin-top:9px;font-size:12px;color:#6b786c}.family-example-dots{position:absolute;bottom:12px;left:0;right:0;display:flex;gap:8px;justify-content:center}.family-example-dots button{width:8px;height:8px;min-width:8px;padding:0;border-radius:50%;background:#b7bfaf}.family-example-dots button[aria-pressed=true]{width:23px;background:#235442}.family-preview-list{display:grid;gap:12px;margin-top:24px}.family-preview-list article{padding:20px;border:1px solid #dde4d9;border-radius:12px;background:white}.family-preview-list h2{font-size:19px;line-height:1.6;margin:8px 0}.family-preview-list p{font-size:13px;color:#6b786c}@media(max-width:650px){.family-letter-preview .family-review-image{height:270px}.family-example-title{font-size:20px}}

.family-search{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:24px 0;scroll-margin-top:110px}.family-search input{flex:1;min-width:120px;width:0;padding:12px;border:1px solid #c6d5c7;border-radius:8px}.family-search button,.family-pages button{padding:12px 16px;border:1px solid #c6d5c7;border-radius:8px;background:white;color:#234e3e}.family-pages{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:24px 0}.family-pages button[aria-current=page]{background:#234e3e;color:white}.family-pages button:disabled{opacity:.4}.family-review-entry{border:1px solid #dce5d9;border-radius:12px;background:white;overflow:hidden;min-width:0;scroll-margin-top:110px}.family-review-entry summary{cursor:pointer;padding:20px;overflow-wrap:anywhere}.family-review-entry summary strong{font-size:18px;line-height:1.7}.family-review-entry summary span{display:block;margin-top:8px;color:#6b786c;font-size:13px}.family-review-body{white-space:pre-wrap;overflow-wrap:anywhere;padding:20px;border-top:1px solid #e5eadf;font-size:16px;line-height:1.9}.family-review-page{box-sizing:border-box;width:100%;min-width:0}.family-review-page>p{line-height:1.8}@media(max-width:650px){.family-review-entry summary{padding:16px}.family-review-entry summary strong{font-size:17px}.family-review-body{padding:16px}}
/* Compact review cards on phones. */
@media(max-width:650px){
.family-review-section{padding:12px 0}
.family-review-panel{padding:20px 16px;gap:14px}
.family-review-panel h2{font-size:23px;margin:6px 0 8px}
.family-review-panel p{margin-bottom:12px;line-height:1.65}
.family-review-link{padding:10px 14px}
.family-letter-preview .family-review-image{height:190px}
.family-example-label{top:9px;left:10px;right:auto;padding:4px 7px}
.family-letter-caption{left:10px;right:10px;bottom:27px;padding:11px 12px}
.family-example-title{font-size:17px;line-height:1.5;min-height:0}
.family-letter-caption small{margin-top:5px;font-size:12px}
.family-example-dots{bottom:9px}
.family-review-page{padding:22px 16px 50px}
.family-review-page h1{font-size:25px;margin:10px 0}
.family-review-page>p{font-size:14px;margin:10px 0}
.family-search{gap:8px;margin:16px 0}
.family-search label{font-size:14px}
.family-search input{padding:10px;font-size:16px}
.family-search button{padding:10px 12px}
.family-preview-list{gap:8px;margin-top:12px}
.family-review-entry summary{padding:12px 14px}
.family-review-entry summary strong{font-size:16px;line-height:1.5}
.family-review-entry summary span{margin-top:4px;font-size:12px}
.family-review-body{padding:14px;font-size:15px;line-height:1.8}
}
/* Typeset directly on the photographed letter paper. */
.family-letter-preview .family-review-image{height:auto;aspect-ratio:3/2;object-fit:contain}
.family-letter-caption{left:29%;right:auto;top:48%;bottom:auto;width:39%;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;transform:rotate(-11deg);transform-origin:center;box-sizing:border-box}
.family-example-title{min-height:0;font-family:Georgia,'Noto Serif KR','Batang',serif;font-size:16px;line-height:1.5;color:#334a3b;word-break:normal;overflow-wrap:anywhere}
.family-letter-caption small{margin-top:6px;font-size:10px;line-height:1.4;color:#61705b}
.family-example-dots{bottom:8px}
@media(max-width:650px){.family-letter-preview .family-review-image{height:auto}.family-letter-caption{left:29%;right:auto;top:48%;bottom:auto;width:39%;padding:0}.family-example-title{font-size:15px;line-height:1.45}.family-letter-caption small{font-size:10px;margin-top:5px}}

.family-review-panel{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.family-letter-preview .family-review-image{aspect-ratio:3/2;transform:scale(1.16);transform-origin:50% 60%}
.family-letter-caption{left:26%;top:46%;width:43%}
.family-example-title{font-size:18px;line-height:1.45}
@media(max-width:650px){.family-review-panel{grid-template-columns:minmax(0,1fr);padding:20px 12px}.family-letter-preview{margin:0 -4px}.family-letter-preview .family-review-image{height:auto;aspect-ratio:3/2}.family-letter-caption{left:26%;top:46%;width:43%}.family-example-title{font-size:16px;line-height:1.45}}

.family-slide-count{font-size:12px;color:#36513e;font-weight:600;bottom:8px}

/* Enlarge the paper itself while keeping a compact mobile card. */
.family-review-panel{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr)}
.family-letter-preview .family-review-image{transform:scale(1.42);transform-origin:49% 67%}
.family-letter-caption{left:21%;top:43%;width:50%}
.family-example-title{font-size:21px;line-height:1.45}
.family-letter-caption small{font-size:12px;margin-top:8px}
@media(max-width:650px){.family-review-panel{grid-template-columns:minmax(0,1fr)}.family-letter-preview{margin:0 -4px}.family-letter-caption{left:21%;top:43%;width:50%}.family-example-title{font-size:18px;line-height:1.45}.family-letter-caption small{font-size:11px;margin-top:6px}}
