:root {
            --vinho: #8f1022;
            --vinho-escuro: #5f0b17;
            --vermelho-vivo: #c9142d;
            --dourado: #f0b949;
            --marfim: #fff8f1;
            --neve: #fffdfb;
            --texto: #1f2937;
            --muted: #6b7280;
            --linha: rgba(143, 16, 34, 0.12);
            --sucesso: #0f766e;
            --sombra: 0 24px 60px rgba(93, 13, 24, 0.18);
            --raio-xl: 34px;
            --raio-lg: 24px;
            --raio-md: 18px;
        }

        * {
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            margin: 0;
            font-family: 'Inter', sans-serif;
            color: var(--texto);
            background:
                radial-gradient(circle at top left, rgba(240, 185, 73, 0.18), transparent 24%),
                radial-gradient(circle at bottom right, rgba(201, 20, 45, 0.12), transparent 22%),
                linear-gradient(180deg, #fffdfb 0%, #fff7f8 50%, #fffaf3 100%);
        }

        /* Linguagem visual unificada com o questionário docente. */
        html { scrollbar-gutter: stable; scrollbar-color: #9b5360 #f3edef; }
        body::-webkit-scrollbar { width: 11px; }
        body::-webkit-scrollbar-track { background: #f3edef; }
        body::-webkit-scrollbar-thumb { border: 3px solid #f3edef; border-radius: 99px; background: #8f4352; }
        .page-shell { width: min(1080px, calc(100% - 32px)); padding-top: 0; }
        .topbar { position: sticky; top: 0; z-index: 30; min-height: 66px; margin: 0 calc((1080px - 100vw)/2) 22px; padding: 8px max(20px, calc((100vw - 1080px)/2)); border: 0; border-bottom: 3px solid #c79a43; border-radius: 0; color: #fff; background: linear-gradient(100deg,#4d0812,#811426); box-shadow: 0 5px 20px #3b091126; }
        .brand img { width: 37px; height: 45px; padding: 0; border-radius: 0; background: transparent; box-shadow: none; }
        .brand-kicker { color: #ffffffb8; font-size: .58rem; }
        .brand-title { color: #fff; font-size: .9rem; }
        .topbar .pill-link { padding: .65rem .9rem; border-color: #ffffff2e; color: #fff; background: #ffffff12; font-size: .72rem; }
        .hero-form-layout { display: block; }
        .hero-panel { min-height: auto; margin-bottom: 18px; padding: clamp(28px,5vw,54px); border-radius: 20px; background: linear-gradient(125deg,#570a16,#8b192b); box-shadow: 0 20px 50px #4c101c24; animation: none; }
        .hero-panel::after { width: 260px; height: 260px; inset: auto -100px -140px auto; border: 1px solid #ffffff2b; border-radius: 50%; background: none; opacity: 1; box-shadow: 0 0 0 40px #ffffff08,0 0 0 80px #ffffff05; animation: none; }
        .hero-content { gap: 1rem; }
        .hero-heading { max-width: 760px; font-size: clamp(2rem,5vw,3.25rem); line-height: 1.05; }
        .hero-heading strong { display: inline; color: #f1c977; }
        .hero-text { max-width: 760px; line-height: 1.7; text-align: left; }
        .hero-points,.portal-identity-band { display: none; }
        .hero-footer { margin-top: .5rem; }
        .form-panel { border: 0; border-radius: 0; background: transparent; box-shadow: none; overflow: visible; }
        .form-head { padding: 22px 24px; border: 1px solid var(--linha); border-radius: 16px 16px 0 0; background: #fff; }
        .form-body { padding: 0 0 40px; }
        .form-availability,.form-required-note,.demo-fill-bar { margin-left: 0; margin-right: 0; }
        .progress-card { position: sticky; top: 76px; z-index: 20; margin: 18px 0; border-radius: 12px; background: #fffffff2; backdrop-filter: blur(10px); }
        .progress-strip { display: none; }
        .form-section-card { margin-top: 18px; border: 1px solid #e7dfe1; border-radius: 16px; background: #fff; box-shadow: 0 9px 28px #3b202607; overflow: hidden; }
        .form-section-heading { padding: 21px 24px; border-bottom: 1px solid #e7dfe1; background: linear-gradient(180deg,#fff,#fcfaf9); }
        .question-list { padding: 0 24px; }
        .question-card { padding: 23px 0; border-bottom: 1px solid #eee8e9; border-radius: 0; box-shadow: none; }
        .question-card:last-child { border-bottom: 0; }
        .submit-bar { position: sticky; bottom: 12px; z-index: 18; border: 1px solid #e7dfe1; border-radius: 13px; background: #fffffff5; box-shadow: 0 14px 40px #32141b1c; backdrop-filter: blur(12px); }
        @media(max-width:760px){.page-shell{width:min(100% - 18px,1080px)}.topbar{margin-inline:-9px;padding-inline:14px}.top-actions .pill-link:first-child{display:none}.hero-panel{padding:25px 21px;border-radius:14px}.form-head,.form-section-heading,.question-list{padding-left:16px;padding-right:16px}.progress-card{top:72px}}

        a {
            color: inherit;
            text-decoration: none;
        }

        .page-shell {
            width: min(1180px, calc(100% - 32px));
            margin: 0 auto;
            padding: 26px 0 48px;
        }

        .topbar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            padding: 14px 18px;
            border: 1px solid rgba(255, 255, 255, 0.7);
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.76);
            backdrop-filter: blur(16px);
            box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
            margin-bottom: 22px;
        }

        .brand {
            display: flex;
            align-items: center;
            gap: 14px;
            min-width: 0;
        }

        .brand img {
            width: 56px;
            height: 56px;
            object-fit: contain;
            border-radius: 18px;
            background: white;
            padding: 6px;
            box-shadow: 0 10px 22px rgba(143, 16, 34, 0.12);
        }

        .brand-copy {
            display: flex;
            flex-direction: column;
            min-width: 0;
        }

        .brand-kicker {
            font-size: 0.72rem;
            font-weight: 800;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: var(--muted);
        }

        .brand-title {
            font-family: 'Manrope', sans-serif;
            font-size: 1.2rem;
            line-height: 1.1;
            color: var(--vinho);
        }

        .top-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 0.75rem;
            justify-content: flex-end;
        }

        .pill-link {
            display: inline-flex;
            align-items: center;
            gap: 0.55rem;
            padding: 0.8rem 1.15rem;
            border-radius: 999px;
            border: 1px solid rgba(143, 16, 34, 0.12);
            background: white;
            color: var(--vinho);
            font-weight: 800;
            transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
        }

        .pill-link:hover {
            transform: translateY(-2px);
            box-shadow: 0 12px 24px rgba(143, 16, 34, 0.12);
        }

        .pill-link.primary {
            background: linear-gradient(135deg, var(--vinho), var(--vermelho-vivo));
            color: white;
            border-color: transparent;
        }

        .hero-form-layout {
            display: grid;
            grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
            gap: 22px;
            align-items: stretch;
        }

        .hero-panel {
            position: relative;
            overflow: hidden;
            border-radius: var(--raio-xl);
            padding: 40px 34px;
            background:
                linear-gradient(150deg, rgba(85, 8, 18, 0.98), rgba(143, 16, 34, 0.94), rgba(201, 20, 45, 0.92)),
                url('imagens/wallpaper-unimb.png');
            background-size: 220% 220%, 140% auto;
            background-position: 0% 50%, center center;
            color: white;
            box-shadow: var(--sombra);
            animation: heroShift 18s ease-in-out infinite;
            isolation: isolate;
        }

        .hero-panel::before {
            content: "";
            position: absolute;
            inset: 0;
            background:
                radial-gradient(circle at top right, rgba(255, 220, 140, 0.18), transparent 22%),
                linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 32%, rgba(91, 7, 17, 0.16));
            pointer-events: none;
        }

        .hero-panel::after {
            content: "";
            position: absolute;
            inset: 0;
            background: url('imagens/wallpaper-unimb.png') center center / 132% auto no-repeat;
            opacity: 0.08;
            animation: emblemFloat 14s ease-in-out infinite alternate;
            pointer-events: none;
        }

        .hero-content {
            position: relative;
            z-index: 1;
            display: flex;
            flex-direction: column;
            gap: 1.4rem;
            height: 100%;
        }

        .hero-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.55rem;
            width: fit-content;
            padding: 0.72rem 1rem;
            border-radius: 999px;
            border: 1px solid rgba(255, 255, 255, 0.16);
            background: rgba(255, 255, 255, 0.08);
            font-size: 0.78rem;
            font-weight: 800;
            letter-spacing: 0.12em;
            text-transform: uppercase;
        }

        .hero-heading {
            margin: 0;
            font-family: 'Manrope', sans-serif;
            font-size: clamp(2.3rem, 4vw, 4.3rem);
            line-height: 0.96;
            letter-spacing: -0.05em;
        }

        .hero-heading strong {
            display: block;
            color: #ffe9a8;
        }

        .hero-text {
            max-width: 38rem;
            margin: 0;
            color: rgba(255, 255, 255, 0.88);
            font-size: 1rem;
            line-height: 1.85;
            text-align: justify;
            text-wrap: pretty;
        }

        .hero-points {
            display: grid;
            gap: 0.85rem;
        }

        .hero-point {
            display: flex;
            align-items: flex-start;
            gap: 0.85rem;
            padding: 1rem 1.05rem;
            border-radius: 22px;
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.12);
            backdrop-filter: blur(10px);
        }

        .hero-point i {
            margin-top: 2px;
            color: #ffe29a;
        }

        .hero-point strong {
            display: block;
            margin-bottom: 0.22rem;
            font-size: 0.98rem;
        }

        .hero-point span {
            display: block;
            color: rgba(255, 255, 255, 0.82);
            font-size: 0.92rem;
            line-height: 1.6;
            text-align: justify;
            text-wrap: pretty;
        }

        .hero-footer {
            margin-top: auto;
            display: flex;
            flex-wrap: wrap;
            gap: 0.7rem;
        }

        .hero-signature {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 0.85rem;
            margin-top: 0.2rem;
        }

        .hero-signature-card {
            position: relative;
            overflow: hidden;
            padding: 1rem 1rem 0.95rem;
            border-radius: 22px;
            border: 1px solid rgba(255, 255, 255, 0.14);
            background: rgba(255, 255, 255, 0.08);
            backdrop-filter: blur(10px);
            box-shadow: 0 18px 30px rgba(37, 8, 12, 0.16);
        }

        .hero-signature-card::before {
            content: "";
            position: absolute;
            inset: 0 0 auto 0;
            height: 1px;
            background: linear-gradient(90deg, rgba(255, 226, 157, 0.92), rgba(255, 255, 255, 0.16), transparent);
        }

        .hero-signature-value {
            display: block;
            margin-bottom: 0.25rem;
            font-family: 'Manrope', sans-serif;
            font-size: 1.2rem;
            font-weight: 800;
            color: #fff7e0;
        }

        .hero-signature-label {
            display: block;
            color: rgba(255, 255, 255, 0.78);
            font-size: 0.78rem;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            font-weight: 800;
        }

        .hero-chip {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            padding: 0.72rem 0.9rem;
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.14);
            font-size: 0.82rem;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.9);
        }

        .form-panel {
            border-radius: var(--raio-xl);
            background: rgba(255, 255, 255, 0.92);
            border: 1px solid rgba(255, 255, 255, 0.7);
            box-shadow: 0 22px 46px rgba(15, 23, 42, 0.09);
            backdrop-filter: blur(16px);
            overflow: hidden;
        }

        .form-head {
            padding: 26px 28px 18px;
            border-bottom: 1px solid rgba(143, 16, 34, 0.08);
            background: linear-gradient(180deg, rgba(255, 249, 241, 0.98), rgba(255, 255, 255, 0.98));
        }

        .form-kicker {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            padding: 0.45rem 0.82rem;
            border-radius: 999px;
            background: rgba(143, 16, 34, 0.07);
            color: var(--vinho);
            font-size: 0.74rem;
            font-weight: 800;
            letter-spacing: 0.12em;
            text-transform: uppercase;
        }

        .form-head h2 {
            margin: 1rem 0 0.45rem;
            font-family: 'Manrope', sans-serif;
            font-size: clamp(1.8rem, 3vw, 2.7rem);
            line-height: 1;
            letter-spacing: -0.04em;
            color: #1f2937;
        }

        .form-head p {
            margin: 0;
            color: var(--muted);
            font-size: 0.98rem;
            line-height: 1.7;
            text-align: justify;
            text-wrap: pretty;
        }

        .form-body {
            padding: 22px 28px 30px;
        }

        .form-availability {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 1rem;
            padding: 1rem 1.1rem;
            border-radius: 20px;
            background: linear-gradient(180deg, rgba(143, 16, 34, 0.05), rgba(143, 16, 34, 0.02));
            border: 1px solid rgba(143, 16, 34, 0.08);
            margin-bottom: 1.25rem;
        }

        .form-availability strong {
            display: block;
            color: var(--vinho);
            margin-bottom: 0.25rem;
        }

        .form-closed-box {
            padding: 1.15rem;
            border-radius: var(--raio-md);
            background: linear-gradient(180deg, rgba(143, 16, 34, 0.04), rgba(143, 16, 34, 0.02));
            border: 1px solid rgba(143, 16, 34, 0.08);
            color: var(--muted);
            line-height: 1.7;
            text-align: justify;
        }

        .progress-card {
            padding: 1rem 1.05rem;
            margin-bottom: 1.15rem;
            border-radius: 20px;
            background: linear-gradient(180deg, rgba(143, 16, 34, 0.05), rgba(143, 16, 34, 0.02));
            border: 1px solid rgba(143, 16, 34, 0.08);
        }

        .progress-meta {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.75rem;
            margin-bottom: 0.7rem;
            color: var(--vinho);
            font-size: 0.84rem;
            font-weight: 800;
        }

        .progress-track {
            width: 100%;
            height: 12px;
            overflow: hidden;
            border-radius: 999px;
            background: rgba(143, 16, 34, 0.10);
        }

        .progress-fill {
            width: 0%;
            height: 100%;
            border-radius: inherit;
            background: linear-gradient(135deg, var(--vinho), var(--vermelho-vivo));
            transition: width 0.25s ease;
        }

        .progress-strip {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(84px, 1fr));
            gap: 0.65rem;
            margin-bottom: 1.45rem;
        }

        .progress-pill {
            padding: 0.82rem 0.7rem;
            border-radius: 16px;
            background: linear-gradient(180deg, rgba(143, 16, 34, 0.06), rgba(143, 16, 34, 0.02));
            border: 1px solid rgba(143, 16, 34, 0.08);
            text-align: center;
            transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
        }

        .progress-pill strong {
            display: block;
            color: var(--vinho);
            font-size: 0.95rem;
            margin-bottom: 0.18rem;
        }

        .progress-pill span {
            color: var(--muted);
            font-size: 0.76rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.08em;
        }

        .progress-pill.is-active {
            background: linear-gradient(135deg, rgba(143, 16, 34, 0.92), rgba(201, 20, 45, 0.88));
            border-color: transparent;
            transform: translateY(-2px);
            box-shadow: 0 14px 24px rgba(143, 16, 34, 0.14);
        }

        .progress-pill.is-active strong,
        .progress-pill.is-active span {
            color: white;
        }

        form {
            display: grid;
            gap: 1rem;
        }

        .question-card {
            position: relative;
            padding: 1.2rem 1.15rem;
            border-radius: 24px;
            border: 1px solid rgba(143, 16, 34, 0.08);
            background: linear-gradient(180deg, #fffefd, #fff9f7);
            transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
        }

        .question-card:hover {
            transform: translateY(-2px);
            box-shadow: 0 16px 28px rgba(15, 23, 42, 0.05);
            border-color: rgba(143, 16, 34, 0.14);
        }

        .question-index {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 36px;
            height: 36px;
            border-radius: 12px;
            background: linear-gradient(135deg, rgba(143, 16, 34, 0.14), rgba(240, 185, 73, 0.18));
            color: var(--vinho);
            font-size: 0.88rem;
            font-weight: 900;
            margin-bottom: 0.8rem;
        }

        .question-card label {
            display: block;
            margin-bottom: 0.35rem;
            font-size: 1.03rem;
            font-weight: 800;
            color: #1f2937;
        }

        .question-help {
            display: block;
            margin-bottom: 1rem;
            color: var(--muted);
            font-size: 0.92rem;
            line-height: 1.55;
            text-align: justify;
        }

        .range-shell {
            padding: 1.2rem 1rem 0.8rem;
            border-radius: 22px;
            background: linear-gradient(180deg, rgba(143, 16, 34, 0.04), rgba(143, 16, 34, 0.02));
            border: 1px solid rgba(143, 16, 34, 0.08);
        }

        .range-topline {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            margin-bottom: 1rem;
        }

        .range-score {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 72px;
            padding: 0.72rem 0.9rem;
            border-radius: 18px;
            background: linear-gradient(135deg, var(--vinho), var(--vermelho-vivo));
            color: white;
            font-weight: 900;
            font-size: 1.2rem;
            box-shadow: 0 16px 28px rgba(143, 16, 34, 0.18);
        }

        .range-labels {
            display: flex;
            justify-content: space-between;
            gap: 0.5rem;
            margin-top: 0.8rem;
            color: var(--muted);
            font-size: 0.76rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.08em;
        }

        input[type="range"] {
            width: 100%;
            appearance: none;
            background: transparent;
        }

        input[type="range"]::-webkit-slider-runnable-track {
            height: 14px;
            border-radius: 999px;
            background: linear-gradient(90deg, #65101b 0%, #981022 45%, #d11e33 100%);
        }

        input[type="range"]::-webkit-slider-thumb {
            appearance: none;
            width: 28px;
            height: 28px;
            border-radius: 50%;
            background: #fff8f0;
            border: 4px solid var(--vermelho-vivo);
            box-shadow: 0 10px 18px rgba(143, 16, 34, 0.24);
            margin-top: -7px;
            cursor: pointer;
        }

        input[type="range"]::-moz-range-track {
            height: 14px;
            border-radius: 999px;
            background: linear-gradient(90deg, #65101b 0%, #981022 45%, #d11e33 100%);
        }

        input[type="range"]::-moz-range-thumb {
            width: 28px;
            height: 28px;
            border-radius: 50%;
            background: #fff8f0;
            border: 4px solid var(--vermelho-vivo);
            box-shadow: 0 10px 18px rgba(143, 16, 34, 0.24);
            cursor: pointer;
        }

        .choice-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 0.85rem;
        }

        .choice-option {
            position: relative;
        }

        .choice-option input {
            position: absolute;
            opacity: 0;
            pointer-events: none;
        }

        .choice-card {
            display: flex;
            flex-direction: column;
            gap: 0.52rem;
            min-height: 132px;
            padding: 1rem;
            border-radius: 20px;
            border: 1px solid rgba(143, 16, 34, 0.10);
            background: linear-gradient(180deg, #ffffff, #fff9f5);
            transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
            cursor: pointer;
        }

        .choice-card:hover {
            transform: translateY(-2px);
            box-shadow: 0 14px 26px rgba(15, 23, 42, 0.06);
            border-color: rgba(143, 16, 34, 0.18);
        }

        .choice-topline {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.75rem;
        }

        .choice-tag {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 56px;
            padding: 0.45rem 0.65rem;
            border-radius: 999px;
            font-size: 0.76rem;
            font-weight: 900;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }

        .choice-card strong {
            font-size: 1rem;
            color: #1f2937;
        }

        .choice-card span {
            color: var(--muted);
            font-size: 0.88rem;
            line-height: 1.55;
            text-align: justify;
            text-wrap: pretty;
        }

        .open-answer-shell {
            padding: 1.15rem 1rem 1rem;
            border-radius: 22px;
            background: linear-gradient(180deg, rgba(143, 16, 34, 0.04), rgba(143, 16, 34, 0.02));
            border: 1px solid rgba(143, 16, 34, 0.08);
        }

        .open-answer-shell textarea {
            width: 100%;
            min-height: 150px;
            border: 1px solid rgba(143, 16, 34, 0.10);
            border-radius: 18px;
            background: linear-gradient(180deg, #ffffff, #fffaf7);
            color: var(--texto);
            padding: 1rem 1rem;
            resize: vertical;
            line-height: 1.7;
        }

        .form-required-note {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            margin: 0;
            padding: 0.85rem 1rem;
            border-radius: 16px;
            background: rgba(143, 16, 34, 0.06);
            color: var(--vinho);
            font-size: 0.86rem;
            font-weight: 800;
        }

        .demo-fill-bar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            margin: .85rem 0 1.1rem;
            padding: .9rem 1rem;
            border-radius: 16px;
            border: 1px dashed rgba(143, 16, 34, .26);
            background: rgba(240, 185, 73, .10);
        }

        .demo-fill-bar strong,
        .demo-fill-bar span { display: block; }
        .demo-fill-bar strong { color: var(--vinho); font-size: .86rem; }
        .demo-fill-bar span { color: var(--muted); font-size: .8rem; margin-top: .2rem; }
        .demo-fill-button { border: 0; border-radius: 999px; padding: .7rem .95rem; background: var(--vinho); color: #fff; font-weight: 800; cursor: pointer; white-space: nowrap; }

        .required-mark {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 74px;
            padding: 0.28rem 0.55rem;
            border-radius: 999px;
            background: rgba(201, 20, 45, 0.12);
            color: #a11026;
            font-size: 0.72rem;
            font-weight: 900;
            letter-spacing: 0.07em;
            text-transform: uppercase;
        }

        .open-answer-shell textarea:focus {
            outline: none;
            border-color: rgba(143, 16, 34, 0.24);
            box-shadow: 0 0 0 4px rgba(143, 16, 34, 0.08);
        }

        .choice-option.excelente .choice-tag {
            background: rgba(15, 118, 110, 0.14);
            color: var(--sucesso);
        }

        .choice-option.regular .choice-tag {
            background: rgba(240, 185, 73, 0.22);
            color: #9a6700;
        }

        .choice-option.ruim .choice-tag {
            background: rgba(201, 20, 45, 0.14);
            color: #a11026;
        }

        .choice-option input:checked + .choice-card {
            border-color: rgba(143, 16, 34, 0.24);
            background: linear-gradient(180deg, rgba(143, 16, 34, 0.08), rgba(255, 237, 240, 0.96));
            box-shadow: 0 18px 28px rgba(143, 16, 34, 0.10);
            transform: translateY(-2px);
        }

        .form-section-card {
            display: grid;
            gap: 1rem;
            padding: 1.2rem;
            border-radius: 24px;
            border: 1px solid rgba(143, 16, 34, 0.10);
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 249, 246, 0.98));
            box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04);
        }

        .submission-modal[hidden] { display: none; }
        .submission-modal {
            position: fixed;
            inset: 0;
            z-index: 3000;
            display: grid;
            place-items: center;
            padding: 20px;
            background: rgba(48, 6, 13, .72);
            backdrop-filter: blur(10px);
        }
        .submission-dialog {
            width: min(520px, 100%);
            overflow: hidden;
            border: 1px solid rgba(240, 185, 73, .42);
            border-radius: 28px;
            background: #fff;
            box-shadow: 0 30px 80px rgba(48, 6, 13, .34);
            text-align: center;
        }
        .submission-dialog-top {
            padding: 30px 30px 24px;
            background: linear-gradient(145deg, #610b18, #991429);
            color: #fff;
        }
        .submission-dialog-top img { width: 76px; height: 76px; object-fit: contain; margin-bottom: 15px; }
        .submission-dialog-top h2 { margin: 0; font: 800 1.65rem/1.2 Manrope, sans-serif; }
        .submission-dialog-top p { margin: 10px auto 0; max-width: 390px; color: rgba(255,255,255,.84); line-height: 1.6; }
        .submission-dialog-body { padding: 24px 30px 28px; }
        .submission-dialog-note { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 20px; padding: 13px 15px; border-radius: 15px; background: #fff7e7; color: #6b3c00; text-align: left; line-height: 1.5; }
        .submission-dialog-actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
        .submission-dialog-actions button, .submission-dialog-actions a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 18px; border-radius: 999px; border: 1px solid rgba(143,16,34,.18); font-weight: 800; text-decoration: none; cursor: pointer; }
        .submission-dialog-actions button { color: #fff; background: var(--vinho); }
        .submission-dialog-actions a { color: var(--vinho); background: #fff; }

        .form-section-heading {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            flex-wrap: wrap;
            padding-bottom: 0.2rem;
            border-bottom: 1px solid rgba(143, 16, 34, 0.10);
        }

        .section-badge {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 0.45rem 0.72rem;
            border-radius: 999px;
            background: rgba(143, 16, 34, 0.09);
            color: var(--vinho);
            font-size: 0.76rem;
            font-weight: 900;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }

        .form-section-heading h3 {
            margin: 0;
            color: #1f2937;
            font-size: 1.05rem;
            font-weight: 800;
        }

        .question-list {
            display: grid;
            gap: 0.9rem;
        }

        .inline-answer-field {
            width: 100%;
            padding: 0.95rem 1rem;
            border-radius: 16px;
            border: 1px solid rgba(143, 16, 34, 0.14);
            background: linear-gradient(180deg, #ffffff, #fff8f4);
            color: var(--texto);
            font-size: 0.95rem;
        }

        .inline-answer-field:focus {
            outline: none;
            border-color: rgba(143, 16, 34, 0.24);
            box-shadow: 0 0 0 4px rgba(143, 16, 34, 0.08);
        }

        .inline-answer-field textarea {
            min-height: 130px;
            resize: vertical;
        }

        .form-options {
            display: grid;
            gap: 0.6rem;
        }

        .form-option {
            display: flex !important;
            align-items: center;
            gap: 0.78rem;
            margin: 0 !important;
            padding: 0.88rem 0.95rem;
            border: 1px solid rgba(143, 16, 34, 0.12);
            border-radius: 15px;
            background: #fff;
            color: var(--texto) !important;
            font-size: 0.94rem !important;
            font-weight: 650 !important;
            cursor: pointer;
            transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
        }

        .form-option:hover { border-color: rgba(143, 16, 34, 0.32); background: #fff8f7; }
        .form-option input { position: absolute; opacity: 0; }
        .form-option-control {
            flex: 0 0 19px;
            width: 19px;
            height: 19px;
            border: 2px solid rgba(143, 16, 34, 0.42);
            border-radius: 50%;
            background: white;
        }
        .form-option input:checked + .form-option-control {
            border: 6px solid var(--vinho);
            box-shadow: 0 0 0 4px rgba(143, 16, 34, .10);
        }
        .form-option:has(input:checked) { border-color: rgba(143, 16, 34, .36); background: rgba(143, 16, 34, .055); }
        .form-options-scale { grid-template-columns: repeat(5, minmax(0, 1fr)); }
        .form-options-scale .form-option { justify-content: center; text-align: center; }

        .nps-options { display: grid; grid-template-columns: repeat(11, minmax(0, 1fr)); gap: .45rem; }
        .nps-options label { display: block !important; margin: 0 !important; cursor: pointer; }
        .nps-options input { position: absolute; opacity: 0; }
        .nps-options span { display: grid; place-items: center; min-height: 44px; border: 1px solid rgba(143, 16, 34, .15); border-radius: 12px; color: var(--vinho); font-weight: 850; background: white; }
        .nps-options input:checked + span { color: white; background: var(--vinho); border-color: var(--vinho); box-shadow: 0 9px 18px rgba(143, 16, 34, .18); }
        .scale-caption { display: flex; justify-content: space-between; margin-top: .65rem; color: var(--muted); font-size: .78rem; font-weight: 700; }

        .choice-option input:checked + .choice-card::after {
            content: "Selecionado";
            position: absolute;
            top: 14px;
            right: 14px;
            padding: 0.34rem 0.62rem;
            border-radius: 999px;
            background: rgba(143, 16, 34, 0.12);
            color: var(--vinho);
            font-size: 0.68rem;
            font-weight: 900;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }

        .form-submit {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            margin-top: 0.4rem;
            padding: 1rem 0 0;
        }

        .submit-copy {
            color: var(--muted);
            font-size: 0.92rem;
            line-height: 1.7;
            max-width: 30rem;
        }

        .submit-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.7rem;
            min-width: 250px;
            padding: 1rem 1.4rem;
            border: 0;
            border-radius: 999px;
            background: linear-gradient(135deg, var(--vinho), var(--vermelho-vivo));
            color: white;
            font-size: 1rem;
            font-weight: 900;
            letter-spacing: 0.01em;
            box-shadow: 0 18px 34px rgba(143, 16, 34, 0.22);
            cursor: pointer;
            transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
        }

        .submit-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 22px 38px rgba(143, 16, 34, 0.28);
            filter: saturate(1.05);
        }

        .submit-btn:active {
            transform: translateY(1px) scale(0.99);
        }

        .portal-highlights {
            margin-top: 24px;
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 18px;
        }

        .highlight-card {
            position: relative;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            gap: 0.95rem;
            min-height: 230px;
            padding: 24px;
            border-radius: var(--raio-lg);
            background: rgba(255, 255, 255, 0.92);
            border: 1px solid rgba(255, 255, 255, 0.76);
            box-shadow: 0 18px 38px rgba(15, 23, 42, 0.08);
            backdrop-filter: blur(16px);
        }

        .highlight-card::before {
            content: "";
            position: absolute;
            inset: auto -36px -36px auto;
            width: 120px;
            height: 120px;
            background: radial-gradient(circle, rgba(240, 185, 73, 0.16), transparent 68%);
            pointer-events: none;
        }

        .highlight-card > * {
            position: relative;
            z-index: 1;
        }

        .highlight-kicker {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            width: fit-content;
            padding: 0.48rem 0.82rem;
            border-radius: 999px;
            background: rgba(143, 16, 34, 0.08);
            color: var(--vinho);
            font-size: 0.74rem;
            font-weight: 900;
            letter-spacing: 0.12em;
            text-transform: uppercase;
        }

        .highlight-card h3 {
            margin: 0;
            font-family: 'Manrope', sans-serif;
            font-size: 1.5rem;
            line-height: 1.02;
            letter-spacing: -0.04em;
            color: #1f2937;
        }

        .highlight-card p {
            margin: 0;
            color: var(--muted);
            line-height: 1.7;
            font-size: 0.94rem;
            text-align: justify;
            text-wrap: pretty;
        }

        .highlight-meta {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            flex-wrap: wrap;
        }

        .highlight-chip {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            padding: 0.5rem 0.8rem;
            border-radius: 999px;
            background: linear-gradient(180deg, rgba(143, 16, 34, 0.06), rgba(143, 16, 34, 0.02));
            border: 1px solid rgba(143, 16, 34, 0.08);
            color: var(--vinho);
            font-size: 0.75rem;
            font-weight: 800;
        }

        .highlight-link {
            display: inline-flex;
            align-items: center;
            gap: 0.6rem;
            margin-top: auto;
            color: var(--vinho);
            font-weight: 900;
            font-size: 0.9rem;
        }

        .highlight-link:hover {
            color: var(--vinho-escuro);
        }

        .highlight-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 24px 44px rgba(15, 23, 42, 0.10);
        }

        .highlight-card.is-featured {
            background:
                linear-gradient(180deg, rgba(255, 251, 244, 0.98), rgba(255, 255, 255, 0.96)),
                url('imagens/wallpaper-unimb.png');
            background-size: cover;
            background-position: center;
        }

        .highlight-card.is-featured::after {
            content: "";
            position: absolute;
            inset: auto auto -28px -28px;
            width: 110px;
            height: 110px;
            border-radius: 999px;
            background: radial-gradient(circle, rgba(143, 16, 34, 0.14), transparent 68%);
            pointer-events: none;
        }

        @keyframes heroShift {
            0% { background-position: 0% 50%, center center; }
            50% { background-position: 100% 50%, center center; }
            100% { background-position: 0% 50%, center center; }
        }

        @keyframes emblemFloat {
            0% { transform: translateX(-2%); }
            100% { transform: translateX(2%); }
        }

        @media (max-width: 1100px) {
            .hero-form-layout {
                grid-template-columns: 1fr;
            }

            .hero-content {
                min-height: auto;
            }

            .hero-signature {
                grid-template-columns: 1fr;
            }

            .portal-highlights {
                grid-template-columns: 1fr;
            }
        }

        @media (max-width: 860px) {
            .topbar {
                border-radius: 28px;
                align-items: flex-start;
                flex-direction: column;
            }

            .top-actions {
                width: 100%;
                justify-content: flex-start;
            }

            .progress-strip,
            .choice-grid,
            .form-options-scale {
                grid-template-columns: 1fr;
            }

            .form-submit {
                flex-direction: column;
                align-items: stretch;
            }

            .form-availability {
                flex-direction: column;
            }

            .demo-fill-bar {
                align-items: flex-start;
                flex-direction: column;
            }

            .demo-fill-button {
                width: 100%;
                min-height: 44px;
            }

            .submit-btn {
                width: 100%;
                min-width: 0;
            }
        }

        @media (max-width: 640px) {
            .page-shell {
                width: min(100% - 20px, 1180px);
                padding-top: 16px;
            }

            .hero-panel,
            .form-panel {
                border-radius: 28px;
            }

            .hero-panel {
                padding: 28px 22px;
            }

            .form-head,
            .form-body {
                padding-left: 18px;
                padding-right: 18px;
            }

            .hero-heading {
                font-size: clamp(2rem, 9vw, 3rem);
            }

            .hero-chip,
            .hero-point,
            .question-card,
            .choice-card {
                border-radius: 18px;
            }

            .range-topline {
                align-items: flex-start;
                flex-direction: column;
            }

            .nps-options { grid-template-columns: repeat(6, minmax(0, 1fr)); }
            .scale-caption { gap: .75rem; font-size: .72rem; }
        }
        /* Formulário enxuto: conteúdo em primeiro plano e identidade visual discreta. */
        .hero-form-layout { display: block; width: min(780px, 100%); margin: 28px auto 0; }
        .hero-panel { display: none; }
        .form-panel { border-radius: 10px; border: 1px solid #dadce0; box-shadow: none; backdrop-filter: none; background: #fff; overflow: visible; }
        .form-head { padding: 24px; border-top: 8px solid var(--vinho); border-bottom: 1px solid #dadce0; border-radius: 9px 9px 0 0; background: #fff; }
        .form-kicker { padding: 0; border-radius: 0; background: none; letter-spacing: .06em; }
        .form-head h2 { margin-top: .7rem; font-size: clamp(1.55rem, 4vw, 2rem); line-height: 1.25; letter-spacing: -.02em; }
        .form-head p, .question-help { text-align: left; }
        .form-body { padding: 20px; background: #f7f5f4; }
        .form-availability { padding: .8rem 0; margin: 0 0 .7rem; border: 0; border-radius: 0; border-bottom: 1px solid #dadce0; background: transparent !important; }
        .form-availability .pill-link { box-shadow: none; }
        .progress-strip { display: none; }
        .progress-card { padding: .75rem 0; border: 0; border-radius: 0; background: transparent; }
        .progress-track { height: 6px; background: #ded7d8; }
        .form-section-card { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
        .form-section-heading { display: block; padding: 14px 16px; border: 1px solid #dadce0; border-top: 5px solid var(--vinho); border-radius: 8px; background: #fff; }
        .section-badge { padding: 0; background: none; }
        .form-section-heading h3 { margin-top: .35rem; }
        .question-list { gap: .75rem; }
        .question-card { padding: 20px; border: 1px solid #dadce0; border-radius: 8px; background: #fff; box-shadow: none; transition: border-color .15s; }
        .question-card:hover { transform: none; box-shadow: none; border-color: rgba(143,16,34,.4); }
        .question-index { width: auto; height: auto; margin-bottom: .55rem; border-radius: 0; background: none; font-size: .75rem; }
        .form-options { gap: .1rem; }
        .form-option, .form-options-scale .form-option { justify-content: flex-start; min-height: 42px; padding: .5rem .25rem; border: 0; border-radius: 0; background: transparent; text-align: left; }
        .form-option:hover, .form-option:has(input:checked) { background: transparent; }
        .form-options-scale { grid-template-columns: 1fr; }
        .open-answer-shell { padding: 0; border: 0; border-radius: 0; background: none; }
        .open-answer-shell textarea, .inline-answer-field { border: 0; border-bottom: 1px solid #777; border-radius: 0; background: #fff; padding: .8rem .25rem; }
        .form-submit { padding: .8rem 0; }
        .submit-btn { min-width: 150px; border-radius: 5px; box-shadow: none; }
        .submit-btn:hover { transform: none; box-shadow: none; }
        @media (max-width: 640px) { .page-shell { padding-inline: 10px; } .form-body, .form-head { padding: 16px; } .form-submit { align-items: stretch; flex-direction: column; } .submit-btn { width: 100%; } }
