.a104-section{padding:clamp(44px,6vw,78px) 0;background:#fff;color:#172e4f;scroll-margin-top:24px}
.a104-wrap{width:min(1140px,calc(100% - 44px));margin:auto}
.a104-heading{max-width:720px;margin:0 0 30px}
.a104-kicker{margin:0 0 12px;color:#b52f6d;font-size:12px;font-weight:750;line-height:1.5;letter-spacing:1.4px}
.a104-heading h2{margin:0 0 16px;font-size:clamp(29px,3.5vw,42px);line-height:1.2;letter-spacing:-.8px;font-weight:750}
.a104-heading h2 span{color:#ae316c}
.a104-heading>p:last-child{margin:0;color:#526074;font-size:16px;line-height:1.75}
.a104-stage{position:relative}
.a104-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;outline-offset:5px}
.a104-card{min-width:0;margin:0;border:1px solid #e1e7ee;border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 8px 28px #162c4c08;display:flex;flex-direction:column}
.a104-photo{display:block;position:relative;isolation:isolate;width:100%;padding:22px 16px 0;border:0;border-bottom:1px solid #edf0f5;background:linear-gradient(160deg,#f9f4f7,#f5f9fc);cursor:zoom-in}
.a104-photo:before{content:"";position:absolute;inset:30% 10% 6%;border-radius:50% 50% 18px 18px;background:#fff;z-index:-1}
.a104-photo img{display:block;width:100%;height:280px;object-fit:contain;object-position:center bottom;mix-blend-mode:multiply}
.a104-photo:after{content:"Besarkan foto ↗";position:absolute;right:13px;bottom:12px;padding:6px 10px;border-radius:30px;background:#fffffff0;color:#274664;font-size:11px;font-weight:650;box-shadow:0 1px 5px #102b4a0d}
.a104-copy{padding:22px;display:flex;flex:1;flex-direction:column;text-align:left}
.a104-context{margin:0 0 8px;color:#66768a;font-size:12px;line-height:1.6}
.a104-copy h3{margin:0 0 15px;font-size:21px;line-height:1.3;font-weight:750;color:#172e4f;letter-spacing:-.3px}
.a104-result{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-block:1px solid #edf0f5;margin-bottom:12px}
.a104-result>span{font-size:15px;font-weight:650;line-height:1.5}
.a104-mark{white-space:nowrap;color:#a92b64;display:flex;align-items:baseline;gap:7px}
.a104-mark strong{font-size:29px;line-height:1.2;letter-spacing:-1px}
.a104-mark small{font-size:12px;line-height:1.4;font-weight:650}
.a104-exam,.a104-extra{margin:0 0 8px;color:#57657a;font-size:13px;line-height:1.65}
.a104-extra{color:#244f70}
.a104-open{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding:16px 0 0;border:0;background:none;color:#a92b64;font-family:inherit;font-weight:650;font-size:14px;line-height:1.5;cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:4px}
.a104-open span{font-size:18px;text-decoration:none}
.a104-toolbar{display:none;align-items:center;justify-content:center;gap:22px;margin-top:20px}
.a104-toolbar button{display:grid;place-items:center;width:43px;height:43px;border:1px solid #dae2eb;border-radius:50%;color:#274664;background:#fff;cursor:pointer;font-size:22px;line-height:1}
.a104-toolbar button:disabled{opacity:.35;cursor:default}
.a104-toolbar p{margin:0;font-size:13px;color:#53657c;min-width:50px;text-align:center}
.a104-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px;padding-top:21px;border-top:1px solid #e6ebf1}
.a104-bottom p{max-width:640px;margin:0;color:#657287;font-size:13px;line-height:1.65}
.a104-bottom a{color:#a92b64;font-size:14px;line-height:1.5;font-weight:700;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.a104-section button:focus-visible,.a104-section a:focus-visible{outline:3px solid #b12e69;outline-offset:4px}
.a104-dialog{width:min(880px,calc(100% - 24px));max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:0;border:1px solid #dae2eb;border-radius:18px;background:white;color:#172e4f;overflow:hidden}
.a104-dialog::backdrop{background:#10233bd9;backdrop-filter:blur(3px)}
.a104-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:19px 20px 15px;border-bottom:1px solid #e4e9f0}
.a104-dialog-head h2{font-size:23px;line-height:1.3;letter-spacing:-.5px;margin:0 0 7px;padding:0;color:#172e4f}
.a104-dialog-head p{font-size:13px;line-height:1.6;color:#54657a;margin:0;max-width:680px}
.a104-dialog-close{display:grid;place-items:center;flex-shrink:0;width:43px;height:43px;margin:0;padding:0;border:1px solid #d9e1ea;border-radius:10px;background:#fff;color:#172e4f;font-size:28px;line-height:1;cursor:pointer}
.a104-proof-scroll{max-height:calc(100dvh - 245px);min-height:100px;overflow:auto;overscroll-behavior:contain;background:#f3f6f9}
.a104-proof-scroll img{display:block;max-width:100%;width:auto;max-height:calc(100dvh - 245px);height:auto;object-fit:contain;margin:0 auto}
.a104-dialog.is-zoomed .a104-proof-scroll img{width:1400px;max-width:none;max-height:none}
.a104-dialog-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 20px;border-top:1px solid #e4e9f0}
.a104-dialog-actions p{margin:0;color:#657287;font-size:12px;line-height:1.5}
.a104-zoom{flex-shrink:0;min-height:40px;border:1px solid #cdd9e5;border-radius:9px;background:#f2f8fd;color:#244f70;padding:8px 14px;font-family:inherit;font-weight:650;font-size:13px;line-height:1.4;cursor:pointer}
.a104-proof-status{margin:0;padding:20px;color:#53657c;font-size:14px;line-height:1.6;text-align:center}
.a104-dialog [hidden]{display:none!important}
@media(max-width:900px){.a104-grid{gap:16px}.a104-copy{padding:18px}.a104-photo img{height:230px}.a104-mark{gap:5px}.a104-mark strong{font-size:25px}.a104-result{align-items:flex-start;flex-direction:column}.a104-bottom{align-items:flex-start}}
@media(max-width:680px){.a104-wrap{width:calc(100% - 40px)}.a104-heading{margin-bottom:25px}.a104-heading>p:last-child{font-size:15px}.a104-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;position:relative;padding:3px 3px 10px;margin:-3px -3px -10px}.a104-grid::-webkit-scrollbar{display:none}.a104-card{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always}.a104-photo{padding:20px 14px 0}.a104-photo img{height:295px}.a104-copy{padding:22px}.a104-copy h3{font-size:22px}.a104-result{flex-direction:row;align-items:center}.a104-mark strong{font-size:30px}.a104-mark small{font-size:12px}.a104-toolbar{display:flex}.a104-bottom{flex-direction:column;gap:16px}.a104-bottom a{white-space:normal}.a104-dialog-head{padding:15px;gap:10px}.a104-dialog-head h2{font-size:21px}.a104-dialog-head p{font-size:12px}.a104-dialog-actions{padding:12px 15px}.a104-dialog-actions p{max-width:180px}.a104-proof-scroll{max-height:calc(100dvh - 260px)}.a104-proof-scroll img{max-height:calc(100dvh - 260px)}}
@media(prefers-reduced-motion:reduce){.a104-grid{scroll-behavior:auto}}
