/* Visual masking of text only; not data redaction. Production layout is unchanged. */
.sample-text-mask{filter:blur(5px);user-select:none;-webkit-user-select:none;pointer-events:none}

/* Preserve the paragraph's layout; reveal exactly one rendered line at any width. */
.sample-reason-lines{position:relative}
.sample-reason-rest{display:block;filter:blur(5px);clip-path:inset(1lh 0 0 0);user-select:none;-webkit-user-select:none;pointer-events:none}
.sample-reason-first{position:absolute;inset:0 0 auto;display:block;height:1lh;overflow:hidden;user-select:none;-webkit-user-select:none;pointer-events:none}

/* Top notice: the sample opens without a number; real reports stay password-protected. */
.demo-bar.sample-notice{position:static;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:10px 16px 12px;line-height:1.6}
.demo-bar.sample-notice strong{font-size:12px;letter-spacing:.08em;font-weight:600}
.demo-bar.sample-notice small{font-size:12px;color:#4a5d75;font-weight:400}

/* Comparison tables fit a 320–390px phone: long skin-type words wrap instead of pushing the change column out. */
.age-table tr:last-child td,.age-table tr:last-child th{white-space:normal;word-break:keep-all}
@media (max-width:360px){.age-table th,.age-table td{padding-left:4px;padding-right:4px;font-size:13px}}
