.matching-detailed{margin-top:24px;color:#4d3e34}.matching-overview{padding:clamp(18px,4vw,30px);border:1px solid #e3cfaf;border-radius:20px;background:linear-gradient(130deg,#fff,#fff7e9)}.matching-overview h3{font-size:clamp(22px,4vw,30px);margin:8px 0;overflow-wrap:anywhere}.matching-downloads{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 6px}.matching-downloads .btn{font-size:14px;min-height:44px}.matching-findings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.matching-finding{min-width:0;border:1px solid #e4ddd0;border-radius:14px;padding:18px;background:#fff}.matching-finding h4{font-size:19px;line-height:1.35;margin:7px 0 10px}.matching-finding p{font-size:15px;line-height:1.7;margin:8px 0;overflow-wrap:anywhere}.matching-finding .matching-basis{font-size:12px;line-height:1.6;color:#7b6550;border-top:1px solid #eee5d7;padding-top:10px}.matching-category{display:inline-block;font-size:11px;letter-spacing:.035em;color:#705c43}.matching-finding--support .matching-category{color:#3f6548}.matching-finding--caution .matching-category{color:#97541f}.matching-report-nav{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.matching-report-nav a{padding:8px 12px;background:#fffaf2;border:1px solid #e5d5bd;border-radius:24px;font-size:13px;text-decoration:none;color:#72502f}.matching-section{padding:18px 0;border-bottom:1px solid #e5dbcd;scroll-margin-top:155px}.matching-section>summary{font-weight:600;font-size:18px;cursor:pointer;padding-block:4px}.matching-section>summary:focus-visible{outline:3px solid #a1682e;outline-offset:4px;border-radius:3px}.matching-chart-pair,.matching-birth-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:18px}.matching-chart-pair figure{margin:0;min-width:0}.matching-chart-pair figcaption{font-size:14px;text-align:center;font-weight:600;overflow-wrap:anywhere;margin-bottom:10px}.matching-chart-scroll{width:100%;max-width:100%;overflow:auto}.matching-chart-scroll .kundali-chart{width:100%;height:auto;display:block}.matching-charts-enlarged .matching-chart-scroll .kundali-chart{min-width:650px}.matching-birth-pair section{min-width:0}.matching-birth-pair dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 14px;font-size:14px}.matching-birth-pair dd{margin:0;overflow-wrap:anywhere}.matching-birth-pair h4{overflow-wrap:anywhere}.matching-calc-status{font-size:14px;color:#775335;margin:12px 0}.matching-calc-status:empty{display:none}.matching-inclusions{display:flex;gap:8px 14px;flex-wrap:wrap;font-size:13px;color:#765632;margin:12px 0 18px}.matching-limit{font-size:14px;line-height:1.65}.matching-overview .eyebrow{font-size:11px}.matching-zoom{margin-top:8px;font-size:13px}.matching-section ul{padding-left:20px;font-size:14px;overflow-wrap:anywhere}
@media(max-width:600px){.matching-findings,.matching-chart-pair,.matching-birth-pair{grid-template-columns:1fr}.matching-downloads .btn{flex:1 1 135px;padding-inline:10px}.matching-overview{padding:18px 14px}.matching-finding{padding:16px}.matching-section>summary{font-size:17px}.matching-chart-pair{gap:22px}}
@media print{.matching-downloads,.matching-report-nav,.matching-zoom{display:none}.matching-section{break-inside:avoid}.matching-finding{break-inside:avoid}}

/* On phones, one card boundary is enough: keep room for the actual reading. */
@media(max-width:600px){.matching-overview{padding:12px 0;border:0;background:none}.matching-finding{padding:14px}}

/* Degree-bearing charts need a full column; compact Moon charts remain paired. */
.matching-chart-pair--detailed{grid-template-columns:1fr}.matching-chart-pair--detailed figure{width:100%;max-width:760px;margin-inline:auto}.matching-chart-pair--detailed .matching-chart-scroll{overscroll-behavior-inline:contain}
