 .ruby-page{max-width:1120px;margin:auto;padding:35px 24px 60px;color:#333}.ruby-page h1,.ruby-page h2,.ruby-page h3{color:#861925;line-height:1.2}.ruby-page h1{font-size:clamp(32px,5vw,54px);margin:12px 0}.ruby-page h2{font-size:27px}.ruby-page p,.ruby-page li{line-height:1.7}.ruby-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:center;padding:30px 0}.ruby-photo{min-height:270px;background:#f6ece8;border:1px solid #e4d2ca;border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;text-align:center}.ruby-photo svg{width:78px;height:78px;fill:#921c2b}.ruby-tag{font-size:13px;font-weight:bold;letter-spacing:1px;text-transform:uppercase;color:#861925}.ruby-note{background:#fff5df;border-left:4px solid #b28122;padding:18px 22px;border-radius:8px}.ruby-box{padding:26px;border:1px solid #e5dddd;border-radius:16px;background:#fff;margin:24px 0}.ruby-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.ruby-grid>div{border:1px solid #e5dddd;background:#faf7f5;border-radius:12px;padding:20px}.ruby-grid strong{display:block;color:#861925;font-size:20px;margin:5px 0}.ruby-page a.ruby-button,.ruby-callout a[href]{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;max-width:100%;min-height:46px;background:#861925;color:#fff!important;padding:12px 18px;border:1px solid #861925;border-radius:7px;text-decoration:none;font-weight:600;line-height:1.45;text-align:center;white-space:normal;overflow-wrap:anywhere;vertical-align:middle}.ruby-page a:focus-visible{outline:3px solid #2864ca;outline-offset:4px}.ruby-table{overflow:auto}.ruby-page table{width:100%;border-collapse:collapse;min-width:650px}.ruby-page th,.ruby-page td{padding:16px 12px;border-bottom:1px solid #ddd;text-align:left}.ruby-page th{background:#f6eeeb}.ruby-page details{border-bottom:1px solid #ddd;padding:17px 0}.ruby-page summary{cursor:pointer;font-weight:bold;color:#861925}.ruby-callout{background:#f8f0ec;border:1px solid #e4d2ca;border-radius:14px;padding:22px;margin:28px auto;max-width:1120px;color:#333}.ruby-callout h2,.ruby-callout h3{color:#861925;margin:0 0 8px}.ruby-callout p{line-height:1.6}.ruby-footer{padding:22px;text-align:center;border-top:1px solid #ddd}.ruby-table caption{text-align:left;padding:12px 0;color:#555}@media(max-width:700px){.ruby-hero,.ruby-grid{grid-template-columns:1fr}.ruby-page{padding:20px 16px 40px}.ruby-box{padding:18px}.ruby-callout{margin:22px 16px}.ruby-photo{min-height:200px}}@media print{.ruby-callout{display:none!important}}
.ruby-story p{max-width:78ch}.ruby-status{font-size:14px;margin-bottom:0}.ruby-callout a:focus-visible{outline:3px solid #2864ca;outline-offset:4px}

.ruby-callout .ruby-banner-photo{display:block;width:120px!important;height:120px!important;max-width:120px;aspect-ratio:1;object-fit:cover;object-position:50% 44%;border-radius:50%!important;margin:0 auto 18px;opacity:1;filter:none}@media(max-width:600px){.ruby-callout .ruby-banner-photo{width:100px!important;height:100px!important}}

/* Keep call-to-action labels readable inside every utility and blog layout. */
.ruby-callout>a[href]{margin:4px 0 12px}.ruby-callout>p:last-child{margin-bottom:0}.ruby-callout a[href]:hover,.ruby-page a.ruby-button:hover{background:#6d1420;border-color:#6d1420;color:#fff!important;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.ruby-callout a[href]{width:100%;margin-right:0}}
