/* Additive birthday entry point, independent of the homepage's existing components. */
.abg-home { color: #17352f; background: #f4f0e5; padding-block: 76px; font: 16px/1.65 system-ui, -apple-system, "Segoe UI", sans-serif; overflow: clip; }
.abg-home *, .abg-home *::before, .abg-home *::after { box-sizing: border-box; }
.abg-home-shell { display: grid; grid-template-columns: 1.08fr 1fr; gap: 72px; align-items: center; width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.abg-home-copy :is(h2, p, ul) { margin-top: 0; }
.abg-home .abg-home-kicker { color: #176b57; font-size: .72rem; font-weight: 750; line-height: 1.5; letter-spacing: .11em; text-transform: uppercase; margin-bottom: 17px; }
.abg-home h2 { margin-bottom: 22px; color: #17352f; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.15rem, 4vw, 3.5rem); font-weight: 500; letter-spacing: -.04em; line-height: 1.08; }
.abg-home .abg-home-lead { color: #4d6255; max-width: 555px; margin-bottom: 23px; font-size: 1rem; line-height: 1.7; }
.abg-home-mottos { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin-bottom: 27px; }
.abg-home-mottos li { padding: 5px 10px; border: 1px solid #ccd7c4; border-radius: 999px; background: #fffdf7b3; color: #476244; font-size: .73rem; font-weight: 500; line-height: 1.5; }
.abg-home-actions { display: flex; flex-direction: column; align-items: start; gap: 13px; }
.abg-home .abg-home-button { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 51px; padding: 14px 22px; border: 1px solid #124f41; border-radius: 999px; background: #124f41; color: #fff !important; font: 650 .88rem/1.4 system-ui, sans-serif; text-decoration: none !important; text-align: center; transition: background .18s, transform .18s; }
.abg-home .abg-home-button:hover { background: #0b332a; transform: translateY(-2px); }
.abg-home .abg-home-button:focus-visible { outline: 3px solid #b9832d; outline-offset: 4px; }
.abg-home-actions > span { color: #5f705e; font-size: .73rem; }
.abg-home-visual { position: relative; min-width: 0; padding: 10px 80px 25px 0; }
.abg-home-visual figure { margin: 0; background: #fffdf8; border: 7px solid #fffdf8; box-shadow: 0 12px 32px #25492d12; }
.abg-home-visual img { display: block; max-width: 100%; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: inherit; }
.abg-home-main-art { position: relative; z-index: 1; border-radius: 48% 48% 11% 11%; transform: rotate(-3deg); }
.abg-home-visual .abg-home-small-art { position: absolute; z-index: 2; width: 39%; max-width: 185px; border-radius: 16px; }
.abg-home-small-art--wald { top: -8px; right: 0; transform: rotate(7deg); }
.abg-home-small-art--einhorn { bottom: 22px; right: -1px; transform: rotate(-6deg); }
.abg-home-note { position: absolute; z-index: 3; bottom: 5px; left: 12px; padding: 13px 18px 13px 45px; border: 1px solid #d8d9be; border-radius: 10px; background: #fffdf3; color: #3f5e44; font-size: .74rem; line-height: 1.5; transform: rotate(2deg); }
.abg-home-note > span { position: absolute; left: 15px; top: 16px; color: #af833f; font-size: 20px; }
.abg-home-note strong { font-weight: 650; }
.abg-magazine-feature { background: #f4f0e5; }
.abg-magazine-feature .abm-feature__media img { object-fit: contain; background: #fffefa; }
@media (max-width: 980px) { .abg-home-shell { gap: 35px; } .abg-home-visual { padding-right: 50px; } }
@media (max-width: 740px) {
    .abg-home { padding-block: 52px; }
    .abg-home-shell { grid-template-columns: 1fr; width: min(600px, calc(100% - 36px)); gap: 38px; }
    .abg-home-visual { width: min(445px, calc(100% - 10px)); margin-inline: auto; padding-right: 80px; }
    .abg-home h2 { font-size: clamp(2.15rem, 7.2vw, 3rem); }
}
@media (max-width: 420px) {
    .abg-home-shell { width: calc(100% - 32px); }
    .abg-home .abg-home-kicker { font-size: .64rem; }
    .abg-home .abg-home-lead { font-size: .94rem; }
    .abg-home .abg-home-button { width: 100%; padding-inline: 14px; font-size: .77rem; }
    .abg-home-actions { align-items: center; }
    .abg-home-visual { padding-right: 60px; }
    .abg-home-note { left: 0; font-size: .68rem; padding: 10px 12px 10px 37px; }
    .abg-home-note > span { left: 12px; top: 12px; }
}
@media (prefers-reduced-motion: reduce) { .abg-home * { transition: none !important; } }
