.consultation-shell { width: min(100%, 720px); }
.consultation-shell .brandbar { position: static; }
.consultation-shell .brandbar a { color: var(--purple-dark); font-size: .875rem; }
.back-home { display:inline-flex; align-items:center; min-height:44px; padding:8px 12px; border:1px solid var(--line); border-radius:12px; font-weight:800; text-decoration:none; background:white; }
.back-home:focus-visible { outline:3px solid var(--orange); outline-offset:2px; }
.back-home-bottom { margin-top:24px; }
.consultation-shell main { padding-bottom: 35px; }
.consultation-shell h1 { font-size: clamp(2rem, 6vw, 2.75rem); }
.consultation-form { display: grid; gap: 12px; }
.consultation-form > label, #saveControls label { font-weight: 750; margin-top: 8px; }
.consultation-form label span, .video-card h2 span { color: var(--muted); font-size: .875rem; font-weight: 500; }
.consultation-form select, .consultation-form textarea, #saveDog { width: 100%; min-height: 48px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: white; color: var(--ink); }
.consultation-form fieldset { margin: 8px 0; padding: 15px; border: 1px solid var(--line); border-radius: 18px; }
.consultation-form legend { font-weight: 750; padding: 0 5px; }
.consultation-form .signal-grid label, .consultation-form .consent { font-size: .875rem; }
.consultation-form .privacy-note, .consultation-form .form-message, .field-help, .consultation-footer { font-size: .875rem; }
.field-help { color: var(--muted); }
.safety-options { padding: 14px; border-left: 4px solid var(--orange); background: var(--orange-soft); border-radius: 8px; }
.safety-options summary { cursor: pointer; font-weight: 700; }
.safety-options label { display: block; margin-top: 15px; }
.video-card { margin: 12px 0; padding: 20px; border: 1px solid var(--line); border-radius: 22px; background: white; }
.video-card h2 { font-size: 1.35rem; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; }
.video-card input[type=file] { display: block; width: 100%; padding: 12px 0; font-size: .875rem; }
.video-card video { display: block; width: 100%; max-height: 360px; margin-top: 12px; background: #24202a; border-radius: 12px; }
#visualControls { border-top: 1px solid var(--line); padding-top: 15px; }
#visualControls p { font-size: .875rem; }
#frameResults { display: grid; gap: 14px; }
.frame-result { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.frame-result img { width: 100%; display: block; max-height: 250px; object-fit: contain; background: #24202a; }
.frame-result p { padding: 12px; margin: 0; overflow-wrap: anywhere; }
.guidance-result { margin-top: 25px; padding: 22px; border: 2px solid var(--purple); border-radius: 24px; background: white; }
.guidance-result h3 { margin: 20px 0 7px; font-size: 1.125rem; color: var(--purple-dark); }
.guidance-result a { color: var(--purple); }
.safety-note { padding: 12px; background: var(--orange-soft); border-radius: 10px; }
#saveControls { display: grid; gap: 10px; margin-top: 22px; }
.consultation-footer { margin-top: 25px; color: var(--muted); }
@media (max-width: 420px) { .consultation-shell main { padding-left: 15px; padding-right: 15px; } .consultation-shell .brandbar img { width: 125px; } .consultation-form .signal-grid { grid-template-columns: 1fr; } }
