/* v9: approved hero headline, registration instructions and sample report.
   Existing form, tracking contract and colorway tokens are preserved. */
/* The approved second sentence wraps independently of the main headline. */
.hero h1 { white-space:normal; text-wrap:balance; }
.hero h1>span { display:block; max-width:360px; margin:7px auto 0; font-size:21px; line-height:1.2; letter-spacing:-.35px; text-wrap:balance; }
@media(max-width:360px) { .hero { padding-top:4px; padding-bottom:4px; } .hero h1>span { font-size:18px; margin-top:4px; } }
@media(min-width:700px) { .hero h1>span { font-size:24px; max-width:420px; } }
#registration-dialog { padding:26px 22px 12px; }
#registration-dialog .gate-kicker { margin:0 30px 10px; color:var(--accent); font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
#registration-dialog h2 { margin:0; font-size:27px; line-height:1.12; letter-spacing:-.6px; }
#registration-dialog .gate-intro { margin:12px 0 18px; font-size:12px; line-height:1.5; }
.gate-steps { list-style:none; display:grid; gap:8px; margin:0 0 18px; padding:0; text-align:left; }
.gate-steps li { display:grid; grid-template-columns:32px minmax(0,1fr); gap:12px; align-items:center; padding:11px 12px; border:1px solid var(--line); border-radius:12px; background:rgb(3 10 20 / .28); }
.gate-step-number { display:grid; place-items:center; width:32px; height:32px; color:var(--accent); background:color-mix(in srgb,var(--accent) 10%,transparent); border:1px solid color-mix(in srgb,var(--accent) 25%,transparent); border-radius:9px; font-size:13px; font-weight:800; }
.gate-steps strong { display:block; font-size:13px; line-height:1.3; }
.gate-steps div>span { display:block; margin-top:3px; font-size:11px; line-height:1.4; color:var(--muted); }
#registration-dialog .primary { min-height:54px; margin:0; }
#registration-dialog .screen-note { margin:10px 4px 0; font-size:10px; line-height:1.45; }
#registration-dialog .secondary { min-height:38px; margin-top:5px; font-size:11px; }
html[data-theme="light"] .gate-steps li { background:var(--paper); border-color:var(--border); }
html[data-theme="light"] .gate-steps strong { color:var(--ink); }
html[data-theme="light"] .gate-steps div>span { color:var(--quiet); }
#summary-view>.report-eyebrow { margin:11px 0 7px; text-align:center; font-size:9px; color:#ff9f8e; letter-spacing:.12em; }
#summary-view .screen-title { margin:0 0 14px; font-size:34px; line-height:1.06; font-weight:900; letter-spacing:-1px; }
#summary-view .screen-title>span { color:#ff9f8e; }
#summary-view .preview-heading h3 { max-width:310px; font-size:18px; line-height:1.2; }
#summary-view .preview-heading p { font-size:11px; }
#summary-view .dossier-document { gap:8px; }
#summary-view .dossier-section { border-radius:10px; }
#summary-view .dossier-attention { border-color:#8f514d; border-left:3px solid #ff816e; background:linear-gradient(115deg,#371d25,#14111b 85%); }
#summary-view .dossier-attention .dossier-heading h4 { color:#ffb4a5; }
#summary-view .dossier-attention .dossier-icon { background:#63322e; color:#ffccb6; }
#summary-view .dossier-blur { filter:blur(5px); opacity:.9; }
#summary-view .dossier-blur>span { letter-spacing:.2px; }
#summary-view .report-closing { border-top:1px solid var(--line); margin-top:14px; padding-top:12px; }
#summary-view .report-closing strong { font-size:14px; }
html[data-theme="light"] #summary-view>.report-eyebrow,
html[data-theme="light"] #summary-view .screen-title>span { color:#a23f2b; }
html[data-theme="light"] #summary-view .dossier-attention { border-color:#d4afa2; border-left-color:#b64c33; background:linear-gradient(115deg,#fff0e6,var(--paper)); }
html[data-theme="light"] #summary-view .dossier-attention .dossier-heading h4 { color:#8b3323; }
html[data-theme="light"] #summary-view .dossier-attention .dossier-icon { background:#f6d7c5; color:#8b3323; }
html[data-theme="light"] #summary-view .report-closing { border-color:var(--border); }
@media(max-width:360px) {
 #registration-dialog { padding:24px 16px 10px; }
 #registration-dialog h2 { font-size:24px; }
 #registration-dialog .gate-intro { margin:10px 0 14px; }
 .gate-steps { gap:7px; margin-bottom:14px; }
 .gate-steps li { gap:9px; padding:9px 10px; }
 .gate-steps strong { font-size:12px; }
 #summary-view .screen-title { font-size:30px; }
 #summary-view .dossier-attention .dossier-heading h4 { font-size:11px; }
}
/* Blurred illustrative silhouettes, not photographs found for an entered person. */
.photo-evidence { margin:0 0 12px; padding:12px; border:1px solid #684746; border-radius:10px; background:linear-gradient(135deg,#221b23,#101722); }
.photo-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.photo-heading h4 { margin:0; color:#ffc2b2; font-size:13px; line-height:1.25; font-weight:800; }
.photo-example { flex:none; color:#c9b8b5; font-size:9px; border:1px solid #6b5351; padding:3px 5px; border-radius:4px; }
.photo-caption { margin:6px 0 11px; color:#c4b8bc; font-size:10px; line-height:1.4; }
.photo-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.photo-strip figure { min-width:0; margin:0; }
.photo-frame { position:relative; height:91px; overflow:hidden; isolation:isolate; border-radius:6px; background:#373b42; }
.photo-scene { position:absolute; inset:-8px; overflow:hidden; filter:blur(7px); transform:scale(1.06); user-select:none; pointer-events:none; }
.scene-profile { background:linear-gradient(110deg,#9ba4a6,#5f6b72 43%,#323b46 75%); }
.photo-person { position:absolute; inset:0; display:block; }
.photo-person::before { content:''; position:absolute; top:14%; left:34%; width:34%; height:43%; border-radius:45% 46% 46% 48%; background:linear-gradient(#373332 0 13%,#af9585 18% 77%,#806e64); transform:rotate(-6deg); }
.photo-person::after { content:''; position:absolute; top:54%; left:9%; width:88%; height:68%; border-radius:45% 48% 8% 5%; background:linear-gradient(100deg,#333d49,#18242e 70%); }
.scene-publication { background:linear-gradient(100deg,#6c7770 0 20%,#bab2a0 24% 58%,#66635c 63%); }
.scene-publication .photo-person { transform:translateX(-7%) scale(.85); transform-origin:50% 100%; }
.scene-publication .photo-person::before { background:linear-gradient(#443c35 0 19%,#b19a83 25% 75%,#8c7669); transform:rotate(10deg); }
.scene-publication .photo-person::after { background:linear-gradient(110deg,#7e6556,#493f3a); }
.scene-angle { background:linear-gradient(130deg,#5e575a,#2a333c 50%,#848985); }
.scene-angle .photo-person { transform:translateX(7%) scale(1.1); transform-origin:50% 100%; }
.scene-angle .photo-person::before { left:35%; width:30%; transform:rotate(17deg); background:linear-gradient(80deg,#4e423c,#aa8c77 68%,#6a584d); }
.scene-angle .photo-person::after { background:linear-gradient(120deg,#6f7374,#2f3b45); }
.photo-lock { position:absolute; left:50%; top:50%; width:16px; height:13px; transform:translate(-50%,-25%); border:1px solid #e6e7e9; border-radius:3px; background:rgb(10 14 20 / .68); }
.photo-lock::before { content:''; position:absolute; width:8px; height:8px; border:1.5px solid #e6e7e9; border-bottom:0; border-radius:5px 5px 0 0; top:-8px; left:2px; }
.photo-lock::after { content:''; position:absolute; width:2px; height:4px; background:#e6e7e9; left:6px; top:4px; border-radius:1px; }
.photo-strip figcaption { color:#c2b7b8; font-size:9px; line-height:1.4; text-align:center; margin:5px 0 0; }
html[data-theme="light"] .photo-evidence { background:linear-gradient(135deg,#fff0e6,var(--paper)); border-color:#d4afa2; }
html[data-theme="light"] .photo-heading h4 { color:#8b3323; }
html[data-theme="light"] .photo-example { color:#744b3f; border-color:#d4afa2; }
html[data-theme="light"] .photo-caption,
html[data-theme="light"] .photo-strip figcaption { color:#63544f; }
@media(max-width:360px) {
 .photo-evidence { padding:10px; }
 .photo-heading h4 { font-size:12px; }
 .photo-strip { gap:7px; }
 .photo-frame { height:80px; }
}
@media(max-height:620px) {
 #registration-dialog { padding-top:20px; }
 #registration-dialog .gate-kicker { margin-bottom:7px; }
 #registration-dialog h2 { font-size:23px; }
 #registration-dialog .gate-intro { margin:9px 0 12px; }
 .gate-steps { gap:6px; margin-bottom:12px; }
 .gate-steps li { padding-block:8px; }
}
