html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
[hidden] { display: none !important; }
section { scroll-margin-top: 18px; }
.cv-auto { content-visibility:visible; contain-intrinsic-size:none; }
.pilot-notice { padding: 8px 18px; text-align: center; background:#f3dfb5; color:#593c18; font:500 12px/1.45 Inter,sans-serif; }
.pill,.btn-primary { text-transform:none; }
.purchase-note { margin-top:16px; color:#566078; text-align:center; font-size:12px; line-height:1.65; }
.terms-seal { flex:none; display:grid; place-content:center; width:128px; height:128px; border:3px double #b08d57; border-radius:50%; color:#74182c; font:bold 38px/1.2 Inter,sans-serif; text-align:center; }
.terms-seal small { font:600 12px/1.3 Inter,sans-serif; }
dialog { max-width:480px; width:calc(100% - 32px); padding:28px; border:1px solid #c5a064; border-radius:20px; color:#0b1f4d; background:#fffdfc; }
dialog::backdrop { background:#08173699; }
dialog h2 { font-size:26px; margin-bottom:16px; }
dialog p { font-size:15px; line-height:1.6; }
dialog button { display:block; margin:20px auto 0; padding:12px 28px; border-radius:30px; background:#74182c; color:white; cursor:pointer; }
a:focus-visible,button:focus-visible { outline:3px solid #b08d57; outline-offset:5px; }
@media (prefers-reduced-motion:reduce) { html {scroll-behavior:auto;} }

.review-pseudonym-name { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 8px; }
.review-pseudonym-label { flex:none; color:#74182c; border:1px solid #b08d57; border-radius:5px; padding:2px 6px; font:500 11px/1.3 Inter,sans-serif; }

.guarantee-seal { flex:none; width:160px; height:160px; object-fit:contain; }
@media (max-width:640px) { .guarantee-seal { width:136px; height:136px; } }
