/* ═══════════════════════════════════════════════════════
   Data Defenders — Screener Platform Shared CSS Library
   screener-lib.css v1.0
   Do not edit per-screener files for shared styles.
   ═══════════════════════════════════════════════════════ */


    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    :root{
      --navy:#1a2332;--ink:#212d3d;--slate:#2a3a4f;
      --accent:#3b82f6;--gold:#c9a84c;--muted:#8a9ab5;
      --white:#fff;--rule:rgba(255,255,255,0.07);
      --red:#ef4444;--amber:#f59e0b;--green:#22c55e;
    }
    html{scroll-behavior:smooth;}
    body{font-family:'Calibri', 'Segoe UI', Arial, sans-serif;background:var(--navy);color:var(--white);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}

    /* ── NAV ── */
    nav{position:fixed;top:0;left:0;right:0;z-index:100;display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto;align-items:center;padding:14px 3% 0;background:rgba(11,18,32,0.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--rule);}
    .nav-left{display:flex;align-items:center;justify-content:flex-start;padding-bottom:14px;}
    .nav-center{display:flex;justify-content:center;grid-column:2;}
    .nav-right{display:flex;align-items:center;justify-content:flex-end;padding-bottom:14px;}
    .nav-corner{font-size:.82rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--white);background:var(--accent);padding:.6rem 1.4rem;border-radius:4px;text-decoration:none;white-space:nowrap;border:none;transition:background .2s,transform .2s;-webkit-font-smoothing:antialiased;}
    .nav-corner:hover{background:#2563eb;transform:translateY(-1px);}
    .nav-logo-frame{background:transparent;border:1px solid rgba(255,255,255,.13);border-radius:10px;padding:8px 18px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;margin-bottom:14px;overflow:visible;}
    .nav-logo-frame img{height:150px;width:auto;display:block;}
    .svc-bar{grid-column:1/-1;display:flex;align-items:stretch;justify-content:center;border-top:1px solid rgba(255,255,255,.05);flex-wrap:nowrap;width:100%;}
    .svc-item{position:relative;flex:1 1 0;min-width:0;padding:.6rem .4rem;font-size:clamp(.55rem,.9vw,.7rem);font-weight:500;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);text-decoration:none;border-right:1px solid rgba(255,255,255,.05);transition:color .15s,background .15s;white-space:normal;word-break:break-word;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.25;}
    .svc-item:first-child{border-left:1px solid rgba(255,255,255,.05);}
    .svc-item:hover,.svc-item.current{color:var(--white);background:rgba(59,130,246,.08);}
    .svc-item.current{color:var(--gold);}
    .svc-item:hover .svc-drop{opacity:1;pointer-events:all;transform:translateX(-50%) translateY(0);}
    .svc-drop{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(6px);min-width:250px;background:var(--slate);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1rem 1.1rem;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;z-index:200;box-shadow:0 16px 40px rgba(0,0,0,.5);}
    .svc-drop strong{display:block;font-size:.82rem;font-weight:500;color:var(--white);-webkit-font-smoothing:antialiased;margin-bottom:.4rem;text-transform:none;letter-spacing:0;}
    .svc-drop span{font-size:.78rem;color:var(--muted);line-height:1.55;text-transform:none;letter-spacing:0;font-weight:400;}

    /* ── SCREENS ── */
    .screen{display:none;min-height:100vh;padding:15rem 5vw 7rem;}
    .screen.active{display:block;}

    /* ── INTRO ── */
    .back-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;color:var(--muted);text-decoration:none;letter-spacing:.08em;text-transform:uppercase;transition:color .2s;margin-top:.4rem;}
    .back-link:hover{color:var(--white);}
    #screen-intro{text-align:center;position:relative;overflow:hidden;padding-top:17rem;}
    #screen-intro::before{content:'';position:absolute;inset:0;pointer-events:none;}
    .intro-glow{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,.1) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;}
    .eyebrow{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;}
    .intro-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.4rem,5vw,4.5rem);font-weight:300;line-height:1.1;margin-bottom:1.5rem;}
    .intro-title em{font-style:normal;color:var(--gold);}
    .intro-sub{font-size:1rem;color:var(--muted);max-width:580px;margin:0 auto 2.5rem;line-height:1.8;font-weight:300;}

    /* Start frame */
    .start-frame{max-width:680px;margin:0 auto 2.5rem;border:1px solid var(--gold);border-radius:12px;padding:2rem 2.5rem;background:rgba(201,168,76,.04);position:relative;}
    .start-frame-label{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;}
    .start-frame p{font-size:.9rem;color:var(--muted);line-height:1.8;margin-bottom:.75rem;}
    .start-frame p:last-of-type{margin-bottom:0;}
    .start-frame strong{color:var(--white);font-weight:500;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}

    .trust-bar{display:flex;gap:2rem;flex-wrap:wrap;justify-content:center;margin-bottom:2.5rem;}
    .trust-item{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--muted);}
    .trust-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0;}

    /* ── BUTTONS ── */
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 2rem;border-radius:4px;font-size:.85rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;transition:background .2s,transform .2s,opacity .2s;-webkit-font-smoothing:antialiased;}
    .btn-primary{background:var(--accent);color:var(--white);}
    .btn-primary:hover{background:#2563eb;transform:translateY(-1px);}
    .btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none;}
    .btn-outline{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,.25);}
    .btn-outline:hover{border-color:rgba(255,255,255,.6);transform:translateY(-1px);}
    .btn-gold{background:var(--gold);color:var(--navy);}
    .btn-gold:hover{background:#b8973e;transform:translateY(-1px);}
    .btn-sm{padding:.6rem 1.2rem;font-size:.78rem;}

    /* ── CONTEXT SCREEN ── */
    #screen-context{max-width:760px;margin:0 auto;}
    .context-screen{min-height:100vh;padding:14rem 5vw 8rem;position:relative;}
    .survey-screen{min-height:100vh;padding:14rem 5vw 8rem;position:relative;}
    .results-screen{min-height:100vh;padding:14rem 5vw 8rem;position:relative;}
    .context-inner{max-width:780px;margin:0 auto;position:relative;z-index:1;}
    .context-eyebrow{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;}
    .context-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:300;margin-bottom:.5rem;}
    .context-sub{color:var(--muted);margin-bottom:2.5rem;font-size:.95rem;line-height:1.7;}
    .btn-start{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 2.5rem;border-radius:4px;font-size:.85rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;border:none;cursor:pointer;background:var(--accent);color:var(--white);transition:background .2s,transform .2s;font-family:inherit;line-height:1.4;overflow:visible;}
    .btn-start:hover{background:#2563eb;transform:translateY(-1px);}
    .btn-next-multi{display:inline-flex;align-items:center;justify-content:center;margin-top:1.5rem;padding:.75rem 2.5rem;background:var(--accent);color:var(--white);border:none;border-radius:4px;font-family:inherit;font-size:.85rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .2s,transform .2s;}
    .btn-next-multi:hover{background:#2563eb;transform:translateY(-1px);}
    .options-list{display:flex;flex-direction:column;gap:.6rem;margin-top:.5rem;}
    .option{width:100%;padding:1rem 1.25rem;background:var(--slate);border:1px solid var(--rule);border-radius:8px;color:var(--muted);font-family:inherit;font-size:.88rem;text-align:left;cursor:pointer;transition:all .15s;line-height:1.5;}
    .option:hover{border-color:var(--accent);color:var(--white);background:rgba(59,130,246,.06);}
    .option.selected{border-color:var(--accent);background:rgba(59,130,246,.12);color:var(--white);}
    .option-warning{border-color:rgba(239,68,68,.3);}
    .option-warning:hover{border-color:rgba(239,68,68,.7);background:rgba(239,68,68,.06);}
    .option-warning.selected{border-color:rgba(239,68,68,.7);background:rgba(239,68,68,.1);}
    .field-group{margin-bottom:2rem;}
    .field-label{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:.75rem;display:block;}
    .chip-grid{display:flex;flex-wrap:wrap;gap:.6rem;}
    .chip{padding:.5rem 1rem;border-radius:20px;border:1px solid var(--rule);background:var(--slate);font-size:.82rem;color:var(--muted);cursor:pointer;transition:all .15s;user-select:none;}
    .chip:hover{border-color:var(--accent);color:var(--white);}
    .chip.selected{border-color:var(--accent);background:rgba(59,130,246,.15);color:var(--white);}
    .chip.multi.selected{border-color:var(--accent);background:rgba(59,130,246,.15);color:var(--white);}

    /* ── DOMAIN SCREEN ── */
    #screen-domain{max-width:800px;margin:0 auto;}
    .progress-wrap{margin-bottom:2.5rem;}
    .progress-label{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted);margin-bottom:.6rem;letter-spacing:.05em;}
    .progress-track{height:4px;background:var(--rule);border-radius:2px;overflow:hidden;}
    .progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--gold));border-radius:2px;transition:width .4s ease;}
    .domain-header{margin-bottom:2rem;}
    .domain-num{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem;}
    .domain-name{font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:300;margin-bottom:.5rem;}
    .domain-desc{font-size:.9rem;color:var(--muted);line-height:1.7;}
    .question-block{margin-bottom:2rem;padding:1.5rem;background:var(--slate);border:1px solid var(--rule);border-radius:10px;}
    .question-text{font-size:.95rem;font-weight:400;line-height:1.65;margin-bottom:1.25rem;}
    .scale-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;}
    @media(max-width:600px){.scale-grid{grid-template-columns:1fr 1fr;}}
    .scale-card{padding:.75rem .5rem;border:1px solid var(--rule);border-radius:8px;background:var(--ink);cursor:pointer;text-align:center;transition:all .15s;display:flex;flex-direction:column;gap:.3rem;}
    .scale-card:hover{border-color:var(--accent);background:rgba(59,130,246,.08);}
    .scale-card.selected{border-color:var(--accent);background:rgba(59,130,246,.18);}
    .scale-num{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:300;color:var(--gold);}
    .scale-label{font-size:.72rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--white);}
    .scale-desc{font-size:.68rem;color:var(--muted);line-height:1.4;}
    .domain-nav{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;gap:1rem;}

    /* ── RESULTS ── */
    #screen-results{max-width:900px;margin:0 auto;}
    .results-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0 .6rem;margin-bottom:1.5rem;border-bottom:1px solid var(--gold);opacity:.85;}
    .results-header-left{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);}
    .results-header-right{font-size:.68rem;color:var(--muted);letter-spacing:.04em;text-align:right;}
    .results-hero{text-align:center;margin-bottom:3rem;padding:2rem 3rem;background:var(--slate);border:1px solid var(--rule);border-radius:16px;position:relative;overflow:hidden;}
    .results-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(59,130,246,.08),transparent 60%);pointer-events:none;}
    .score-ring{width:160px;height:160px;margin:0 auto 1.5rem;position:relative;}
    .score-ring svg{width:100%;height:100%;transform:rotate(-90deg);}
    .score-ring circle{fill:none;stroke-width:10;}
    .score-ring .track{stroke:var(--rule);}
    .score-ring .fill{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset 1.2s ease;}
    .score-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
    .score-pct{font-family:'Cormorant Garamond',serif;font-size:2.8rem;font-weight:300;color:var(--white);line-height:1;}
    .score-tier{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--navy);margin-top:.3rem;}
    .results-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:300;margin-bottom:.5rem;}
    .results-interp{font-size:.92rem;color:var(--muted);max-width:600px;margin:0 auto;line-height:1.7;}

    /* Radar */
    .radar-wrap{margin:2rem 0;padding:2rem;background:var(--slate);border:1px solid var(--rule);border-radius:12px;text-align:center;}
    .radar-title{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:1.5rem;}
    #radar-chart{max-width:400px;margin:0 auto;display:block;}

    /* ── EU AI Act question types ── */
    .ms-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;}
    .ms-item{display:inline-flex;align-items:center;padding:.45rem .9rem;border:1px solid rgba(255,255,255,.15);border-radius:6px;font-size:.8rem;color:var(--muted);cursor:pointer;transition:all .15s;user-select:none;}
    .ms-item:hover{border-color:var(--accent);color:var(--white);}
    .ms-item.ms-selected{background:rgba(59,130,246,.12);border-color:var(--accent);color:var(--white);}
    .c3-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:.75rem;}
    .c3-card{padding:.75rem 1rem;border:1px solid rgba(255,255,255,.12);border-radius:8px;font-size:.85rem;color:var(--muted);cursor:pointer;text-align:center;transition:all .15s;}
    .c3-card:hover{border-color:var(--accent);color:var(--white);}
    .c3-card.selected{background:rgba(59,130,246,.12);border-color:var(--accent);color:var(--white);font-weight:600;}

    /* ── EU AI Act results badge ── */
    .eu-act-section{background:rgba(255,255,255,.03);border:1px solid var(--rule);border-radius:12px;padding:1.5rem;margin:2rem 0;}
    .eu-act-title{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.75rem;}
    .eu-tier-badge{display:inline-block;padding:.4rem 1rem;border-radius:20px;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.75rem;}
    .eu-tier-unacceptable{background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.4);color:#fca5a5;}
    .eu-tier-high{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.35);color:#fcd34d;}
    .eu-tier-limited{background:rgba(59,130,246,.12);border:1px solid rgba(59,130,246,.3);color:#93c5fd;}
    .eu-tier-minimal{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.25);color:#86efac;}
    .eu-tier-undetermined{background:rgba(255,255,255,.05);border:1px solid var(--rule);color:var(--muted);}
    .eu-act-desc{font-size:.82rem;color:var(--muted);line-height:1.7;}
    .eu-act-obligations{margin-top:.75rem;padding-left:1rem;}
    .eu-act-obligations li{font-size:.78rem;color:var(--muted);line-height:1.6;margin-bottom:.3rem;}

    /* Domain breakdown */
    .breakdown-title{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:300;margin:2.5rem 0 1.5rem;}
    .domain-row{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:start;padding:1.25rem 1.5rem;background:var(--slate);border:1px solid var(--rule);border-radius:10px;margin-bottom:.75rem;}
    .domain-row-name{font-size:.82rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.4rem;}
    .domain-row-bar{height:8px;border-radius:4px;margin:.35rem 0 0;background:var(--rule);position:relative;}
    .domain-row-fill{height:100%;border-radius:4px;transition:width .8s ease;}
    .bar-wrap{margin:.5rem 0 .75rem;}
    .bar-row{display:flex;align-items:center;gap:.6rem;margin-bottom:.3rem;}
    .bar-label{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);width:72px;flex-shrink:0;text-align:right;}
    .bar-track{flex:1;height:8px;border-radius:4px;background:var(--rule);position:relative;overflow:hidden;}
    .bar-fill{height:100%;border-radius:4px;transition:width .9s ease;}
    .bar-pct{font-size:.7rem;color:var(--muted);width:32px;flex-shrink:0;}
    .domain-row-interp{font-size:.82rem;color:var(--muted);line-height:1.6;}
    .domain-score-badge{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:300;text-align:right;white-space:nowrap;}
    .domain-tier-badge{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;text-align:right;margin-top:.2rem;}

    /* Strengths / Gaps */
    .sg-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:2rem 0;}
    @media(max-width:600px){.sg-grid{grid-template-columns:1fr;}}
    .sg-card{padding:1.5rem;border-radius:10px;border:1px solid var(--rule);}
    .sg-card.strengths{background:rgba(34,197,94,.05);border-color:rgba(34,197,94,.2);}
    .sg-card.gaps{background:rgba(239,68,68,.05);border-color:rgba(239,68,68,.2);}
    .sg-card-title{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:1rem;}
    .sg-card.strengths .sg-card-title{color:var(--green);}
    .sg-card.gaps .sg-card-title{color:var(--red);}
    .sg-item{font-size:.85rem;color:var(--muted);padding:.4rem 0;border-bottom:1px solid var(--rule);display:flex;align-items:center;gap:.5rem;}
    .sg-item:last-child{border-bottom:none;}
    .sg-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}

    /* Consistency Concerns */
    .concerns-section{margin:2rem 0;padding:1.5rem 2rem;background:rgba(245,158,11,.05);border:1px solid rgba(245,158,11,.25);border-radius:10px;border-left:4px solid var(--amber);}
    .concerns-title{font-size:.82rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--amber);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem;}
    .concerns-intro{font-size:.85rem;color:var(--muted);line-height:1.7;margin-bottom:1rem;}
    .concerns-list{list-style:none;margin:0;}
    .concerns-list li{font-size:.83rem;color:var(--muted);padding:.55rem 0 .55rem 1.2rem;position:relative;line-height:1.6;border-bottom:1px solid rgba(245,158,11,.1);}
    .concerns-list li:last-child{border-bottom:none;}
    .concerns-list li::before{content:'◆';position:absolute;left:0;font-size:.55rem;color:var(--amber);top:.7rem;}
    .concerns-list li strong{color:var(--white);font-weight:700;-webkit-font-smoothing:antialiased;}
    .concerns-warning{margin-top:1rem;padding:.75rem 1rem;background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.3);border-radius:6px;font-size:.8rem;color:var(--amber);line-height:1.6;font-style:italic;}
    .concerns-warning p{margin:0;}
    .concerns-warning strong{font-weight:700;-webkit-font-smoothing:antialiased;}

    /* Jeopardy alert */
    .jeopardy-alert{margin:2rem 0;padding:1.5rem 2rem;background:rgba(239,68,68,.07);border:1px solid rgba(239,68,68,.3);border-radius:10px;border-left:4px solid var(--red);}
    .jeopardy-title{font-size:.82rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem;}
    .jeopardy-body{font-size:.88rem;color:var(--muted);line-height:1.7;}
    .jeopardy-items{margin:.75rem 0 0;list-style:none;}
    .jeopardy-items li{font-size:.85rem;color:var(--muted);padding:.3rem 0 .3rem 1.2rem;position:relative;line-height:1.5;}
    .jeopardy-items li::before{content:'⚠';position:absolute;left:0;font-size:.75rem;color:var(--amber);}

    /* Lead capture */
    .lead-section{margin-top:3rem;padding:2.5rem;background:var(--slate);border:1px solid var(--gold);border-radius:16px;position:relative;overflow:hidden;}
    .lead-section::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 100% 0%,rgba(201,168,76,.05),transparent 50%);pointer-events:none;}
    .lead-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:300;margin-bottom:.75rem;}
    .lead-title em{font-style:normal;color:var(--gold);}
    .lead-body{font-size:.9rem;color:var(--muted);line-height:1.8;max-width:640px;margin-bottom:2rem;}
    .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;}
    @media(max-width:600px){.form-row{grid-template-columns:1fr;}}
    .form-field{display:flex;flex-direction:column;gap:.4rem;}
    .form-field label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
    .form-field input{padding:.75rem 1rem;background:var(--ink);border:1px solid var(--rule);border-radius:6px;color:var(--white);font-family:'Calibri', 'Segoe UI', Arial, sans-serif;font-size:.9rem;transition:border-color .2s;outline:none;}
    .form-field input:focus{border-color:var(--accent);}
    .form-field input.input-error{border-color:#ef4444 !important;}
    .form-field input::placeholder{color:var(--muted);opacity:.6;}
    .form-field .optional{font-size:.65rem;color:var(--muted);opacity:.7;margin-left:.4rem;}
    .phone-reveal{margin-bottom:1rem;padding:1.25rem 1.5rem;background:rgba(239,68,68,.06);border:1px solid rgba(239,68,68,.25);border-radius:8px;display:none;}
    .phone-reveal.show{display:block;}
    .phone-reveal-label{font-size:.78rem;font-weight:500;color:var(--red);margin-bottom:.5rem;}
    .phone-reveal-body{font-size:.82rem;color:var(--muted);line-height:1.6;margin-bottom:.75rem;}
    .opt-in{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem;cursor:pointer;}
    .opt-in input{margin-top:3px;accent-color:var(--accent);width:16px;height:16px;flex-shrink:0;}
    .opt-in span{font-size:.82rem;color:var(--muted);line-height:1.5;}
    .privacy-note{font-size:.75rem;color:var(--muted);opacity:.7;line-height:1.5;margin-bottom:1.5rem;border-top:1px solid var(--rule);padding-top:1rem;}
    .required-note{font-size:.72rem;color:var(--muted);opacity:.6;margin-bottom:1rem;}
    .cta-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:1.5rem;}
    .cta-divider{font-size:.72rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;}

    /* Thank you */
    #screen-thankyou{text-align:center;max-width:680px;margin:0 auto;}
    .ty-icon{width:80px;height:80px;border-radius:50%;background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.3);display:flex;align-items:center;justify-content:center;margin:0 auto 2rem;font-size:2rem;}
    .ty-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3rem);font-weight:300;margin-bottom:1rem;}
    .ty-body{font-size:.95rem;color:var(--muted);line-height:1.8;margin-bottom:2.5rem;}

    /* Color helpers */
    .c-red{color:var(--red);}
    .c-amber{color:var(--amber);}
    .c-green{color:var(--green);}
    .c-gold{color:var(--gold);}

    /* Footer */
    footer{position:fixed;bottom:0;left:0;right:0;z-index:50;background:rgba(26,35,50,0.97);backdrop-filter:blur(10px);border-top:1px solid var(--rule);padding:.9rem 5vw;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;}
    .footer-left img{height:28px;width:auto;display:block;margin-bottom:.4rem;}
    .footer-copy{font-size:.72rem;color:var(--gold);letter-spacing:.04em;}
    .footer-right{font-size:.72rem;color:var(--muted);letter-spacing:.05em;}

    @keyframes fadeUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
    /* ── PRINT PREVENTION ───────────────────────────────────────────────── */
    @media print {
      body > *:not(#print-block) { display: none !important; }
      #print-block {
        display: flex !important;
        position: fixed;
        inset: 0;
        background: white;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 1rem;
        font-family: 'Calibri', Arial, sans-serif;
        color: #1a2332;
        text-align: center;
        padding: 3rem;
      }
      #print-block h2 { font-size: 1.5rem; font-weight: 600; margin-bottom: .5rem; }
      #print-block p  { font-size: 1rem; color: #555; max-width: 480px; }
    }

    .fade-in{animation:fadeUp .5s ease both;}
  

/* ── SHARED RESULTS COMPONENTS ────────────────────────── */
.violation-badge { display:inline-block;padding:.2rem .65rem;border-radius:12px;font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase; }
.badge-critical { background:rgba(220,38,38,.2);color:#f87171;border:1px solid rgba(220,38,38,.4); }
.badge-high { background:rgba(234,88,12,.2);color:#fb923c;border:1px solid rgba(234,88,12,.4); }
.badge-moderate { background:rgba(234,179,8,.15);color:#fbbf24;border:1px solid rgba(234,179,8,.3); }
.badge-low { background:rgba(34,197,94,.15);color:#4ade80;border:1px solid rgba(34,197,94,.3); }
.exposure-bar { height:10px;border-radius:5px;background:rgba(255,255,255,.08);overflow:hidden;margin:.5rem 0; }
.exposure-fill { height:100%;border-radius:5px;transition:width .8s ease; }
.fill-critical { background:linear-gradient(90deg,#dc2626,#f87171); }
.fill-high { background:linear-gradient(90deg,#ea580c,#fb923c); }
.fill-moderate { background:linear-gradient(90deg,#d97706,#fbbf24); }
.fill-low { background:linear-gradient(90deg,#16a34a,#4ade80); }
.section-result { background:var(--slate);border:1px solid var(--rule);border-radius:8px;padding:1rem;margin-bottom:.75rem; }
.article-ref { font-size:.65rem;color:var(--muted);margin-top:.3rem;font-style:italic; }
.enforcement-pill { display:inline-block;padding:.15rem .5rem;border-radius:10px;font-size:.6rem;font-weight:600;letter-spacing:.06em;margin-left:.4rem;vertical-align:middle; }
.now-pill { background:rgba(220,38,38,.15);color:#f87171;border:1px solid rgba(220,38,38,.3); }
.aug-pill { background:rgba(234,88,12,.15);color:#fb923c;border:1px solid rgba(234,88,12,.3); }
.aug26-pill { background:rgba(234,179,8,.1);color:#fbbf24;border:1px solid rgba(234,179,8,.25); }
.q-text { font-size:1rem;color:var(--white);line-height:1.65;margin-bottom:.75rem; }
.section-eyebrow { display:block;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem; }

/* Fix PDF and other dynamically-rendered buttons */
button { font-family: inherit; }
