/* ================= TOKENS ================= */

:root{
    --blue:#1457e8;
    --blue-dark:#0b3fb0;
    --blue-soft:#eef4ff;
    --text:#0b1747;
    --muted:#4f5b7a;          /* 6.9:1 on white */
    --subtle:#5b6785;         /* 5.6:1 on white */
    --border:#e3e9f5;
    --bg:#f7faff;
    --white:#ffffff;

    --ok:#12804a;             /* 5.0:1 */
    --ok-bg:#f3fbf6;
    --ok-border:#bfe6cf;
    --bad:#c62828;            /* 5.6:1 */
    --bad-bg:#fff6f6;
    --bad-border:#f5c9c9;
    --warn:#a15207;           /* 5.9:1 */
    --warn-bg:#fffaf0;
    --warn-border:#f6dfb3;

    --fs-xs:12px;
    --fs-sm:14px;
    --fs-base:16px;
    --fs-lg:18px;
    --fs-xl:24px;
    --fs-2xl:32px;
    --fs-hero:48px;

    --radius:10px;
    --focus:0 0 0 3px rgba(20,87,232,.35);
    --header-h:72px;
}

*{box-sizing:border-box;margin:0;padding:0;}
[hidden]{display:none !important;}

html{overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 12px);}

body{
    overflow-x:clip;
    font-family:"Inter",Arial,sans-serif;
    font-size:var(--fs-base);
    line-height:1.5;
    background:linear-gradient(180deg,#f8fbff 0%,#ffffff 45%,#f7faff 100%);
    color:var(--text);
}

.container{width:min(1160px,92%);margin:auto;}

button,input,select{font:inherit;color:inherit;}
button{cursor:pointer;}
button:disabled{cursor:not-allowed;}

:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:6px;}

.icon{
    width:1.25em;height:1.25em;flex:none;
    fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
    vertical-align:-.25em;
}
.icon.spin{animation:spin 1s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

.skip-link{position:absolute;left:12px;top:-60px;background:var(--blue);color:#fff;padding:10px 16px;border-radius:8px;z-index:200;text-decoration:none;font-weight:700;}
.skip-link:focus{top:12px;}

/* ================= BUTTONS ================= */

.btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    min-height:44px;padding:0 20px;border-radius:8px;border:1px solid transparent;
    font-size:var(--fs-sm);font-weight:700;text-decoration:none;white-space:nowrap;
    transition:background-color .15s,box-shadow .15s,transform .15s;
}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 5px 15px rgba(20,87,232,.18);}
.btn-primary:hover{background:var(--blue-dark);}
.btn-outline{background:#fff;color:var(--blue);border-color:var(--blue);}
.btn-outline:hover{background:var(--blue-soft);}
.btn-white{background:#fff;color:var(--blue);}
.btn-white:hover{background:var(--blue-soft);}
.btn-block{width:100%;}
.btn:disabled{opacity:.6;}

/* ================= HEADER ================= */

header{
    height:var(--header-h);background:#fff;border-bottom:1px solid #edf1f8;
    display:flex;align-items:center;position:sticky;top:0;z-index:100;
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;}

.logo{display:flex;align-items:center;gap:10px;text-decoration:none;}
.logo-icon{width:40px;height:40px;border:2px solid var(--blue);border-radius:7px;position:relative;overflow:hidden;background:#fff;flex:none;}
.logo-icon:before{content:"";position:absolute;left:0;top:0;bottom:0;width:15px;background:var(--blue);}
.logo-icon:after{content:"RO";position:absolute;left:1px;bottom:4px;color:#fff;font-size:9px;font-weight:800;}
.logo-letter{position:absolute;right:6px;top:6px;font-weight:800;font-size:17px;color:var(--blue);}
.logo-text{font-size:var(--fs-lg);font-weight:800;color:var(--blue);line-height:1.2;}
.logo-sub{display:block;font-size:var(--fs-xs);color:var(--subtle);letter-spacing:.3px;}

.nav-links{display:flex;align-items:center;gap:28px;}
.nav-links a{text-decoration:none;color:var(--text);font-size:var(--fs-sm);font-weight:600;padding:8px 2px;}
.nav-links a:hover{color:var(--blue);}

/* ================= HERO ================= */

.hero{padding:56px 0 8px;position:relative;}
.hero:after{
    content:"";position:absolute;width:520px;height:520px;border-radius:50%;
    background:radial-gradient(circle,#e9f1ff 0%,transparent 68%);
    right:-200px;top:-120px;z-index:-1;pointer-events:none;
}

.hero-grid{
    display:grid;grid-template-columns:1fr 1fr;gap:40px 55px;align-items:center;
    grid-template-areas:"intro card" "checker checker";
}
.hero-intro{grid-area:intro;}
.report-card{grid-area:card;}
.checker{grid-area:checker;}

.hero h1{font-size:var(--fs-hero);line-height:1.12;letter-spacing:-1.5px;margin-bottom:18px;}
.hero h1 span{color:var(--blue);}
.hero-description{color:var(--muted);font-size:var(--fs-lg);line-height:1.6;max-width:520px;}

.hero-features{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px;list-style:none;}
.feature{font-size:var(--fs-sm);color:var(--muted);line-height:1.4;}
.feature-icon{
    width:46px;height:46px;border-radius:50%;background:#fff;box-shadow:0 5px 18px rgba(34,74,145,.09);
    display:flex;align-items:center;justify-content:center;color:var(--blue);margin-bottom:10px;
}
.feature strong{display:block;color:var(--text);font-size:var(--fs-sm);margin-bottom:2px;}

/* ================= REPORT (example) ================= */

.report-card{
    background:#fff;border:1px solid #e8eef7;border-radius:16px;padding:24px;
    box-shadow:0 15px 45px rgba(28,63,125,.08);position:relative;
}
.example-badge{
    display:table;margin:0 auto 10px;background:var(--blue-soft);color:var(--blue);
    font-size:var(--fs-xs);font-weight:700;padding:3px 10px;border-radius:20px;
}
.report-title{text-align:center;font-size:var(--fs-base);font-weight:800;line-height:1.3;margin-bottom:8px;}
.report-date{text-align:center;font-size:var(--fs-xs);color:var(--subtle);margin-bottom:16px;}

.plate-status{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    padding:9px;border-radius:8px;margin-bottom:9px;border:1px solid;
}
.plate-status.available{border-color:var(--ok-border);background:var(--ok-bg);}
.plate-status.unavailable{border-color:var(--bad-border);background:var(--bad-bg);}
.plate-status.error{border-color:var(--warn-border);background:var(--warn-bg);}

.plate{display:flex;height:38px;background:#fff;border:1.5px solid #222;border-radius:4px;overflow:hidden;min-width:150px;}
.plate-ro{
    width:30px;background:#075de5;color:#fff;display:flex;align-items:flex-end;justify-content:center;
    padding-bottom:3px;font-size:10px;font-weight:800;position:relative;flex:none;
}
.plate-ro:before{content:"";position:absolute;top:5px;left:50%;width:12px;height:12px;margin-left:-6px;border:2px dotted #ffe500;border-radius:50%;}
.plate-number{flex:1;display:flex;align-items:center;justify-content:center;font-family:monospace;font-weight:800;font-size:var(--fs-base);color:#111;padding:0 8px;white-space:nowrap;}

.status{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);font-weight:700;white-space:nowrap;}
.available .status{color:var(--ok);}
.unavailable .status{color:var(--bad);}
.error .status{color:var(--warn);}

.report-footer{margin-top:14px;display:flex;align-items:center;gap:8px;font-size:var(--fs-xs);color:var(--subtle);}
.report-footer a{color:var(--blue);}

/* ================= CHECKER ================= */

.checker{
    background:#fff;border-radius:18px;border:1px solid #e7edf6;padding:28px 80px 24px;
    box-shadow:0 12px 35px rgba(30,65,125,.06);
}
.section-title{text-align:center;font-size:var(--fs-xl);font-weight:800;margin-bottom:6px;line-height:1.25;}
.section-subtitle{text-align:center;color:var(--muted);font-size:var(--fs-base);margin-bottom:24px;}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
label{display:block;font-size:var(--fs-sm);font-weight:700;margin-bottom:6px;}
.hint{font-size:var(--fs-xs);color:var(--subtle);margin-top:6px;}

select,input{
    width:100%;height:48px;border:1px solid #cfd8ea;border-radius:8px;padding:0 14px;
    font-size:var(--fs-base);color:var(--text);background:#fff;
    transition:border-color .15s,box-shadow .15s;
}
select:focus,input:focus{outline:none;border-color:var(--blue);box-shadow:var(--focus);}
input[aria-invalid="true"]{border-color:var(--bad);}
input.letters-input{text-transform:uppercase;font-family:monospace;font-size:var(--fs-lg);font-weight:800;letter-spacing:3px;}
input.letters-input::placeholder{text-transform:none;letter-spacing:normal;font-weight:400;font-family:"Inter",Arial,sans-serif;font-size:var(--fs-base);color:#6b7690;}

.field-error{color:var(--bad);font-size:var(--fs-sm);margin-top:6px;display:flex;gap:6px;align-items:center;}
.field-error:empty{display:none;}

.checker .btn-primary{margin-top:18px;height:50px;font-size:var(--fs-base);}
.form-error{color:var(--bad);font-size:var(--fs-sm);margin-top:10px;text-align:center;}
.form-error:empty{display:none;}

.check-note{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:14px;font-size:var(--fs-sm);color:var(--subtle);text-align:center;}
.check-note .icon{color:var(--ok);}

/* billing (paid checks) */
.billing{border:1px solid var(--border);border-radius:var(--radius);padding:18px 18px 4px;margin:20px 0 0;}
.billing legend{font-size:var(--fs-sm);font-weight:700;padding:0 6px;color:var(--muted);}
.billing .form-grid{gap:16px 24px;}
.label{display:block;font-size:var(--fs-sm);font-weight:700;margin-bottom:6px;}
.optional{font-weight:400;color:var(--subtle);}
.segmented{display:flex;gap:8px;flex-wrap:wrap;}
.segmented label{display:flex;align-items:center;gap:8px;min-height:44px;margin:0;padding:0 14px;border:1px solid var(--border);border-radius:var(--radius);font-weight:500;cursor:pointer;}
.segmented label:has(input:checked){border-color:var(--blue);background:var(--blue-soft);}
.segmented input{width:auto;height:auto;padding:0;margin:0;accent-color:var(--blue);box-shadow:none;}
.check-btn{margin-top:20px;}
.pay-note{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:10px;font-size:var(--fs-xs);color:var(--subtle);text-align:center;}
.pay-note .icon{color:var(--ok);}
.order-note{margin:4px 0 14px;padding:12px 14px;border-radius:var(--radius);background:var(--blue-soft);font-size:var(--fs-sm);color:var(--text);}
.order-note.warn{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn-border);}

/* ================= RESULTS ================= */

.results{margin-top:24px;border-top:1px solid #edf1f8;padding-top:20px;}
.results[hidden]{display:none;}
.results-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px;}
.results-head h3{font-size:var(--fs-lg);}
.results-meta{font-size:var(--fs-sm);color:var(--muted);}
.progress{height:8px;background:#eef3fb;border-radius:10px;overflow:hidden;margin-bottom:14px;}
.progress-bar{height:100%;width:0;background:linear-gradient(90deg,#1457e8,#18a957);transition:width .4s;}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.filter{
    min-height:40px;border:1px solid #cfd8ea;background:#fff;color:var(--text);
    padding:0 14px;border-radius:20px;font-size:var(--fs-sm);font-weight:600;
}
.filter[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff;}
.filter b{margin-left:6px;}
.stop-btn{
    display:inline-flex;align-items:center;gap:6px;min-height:40px;
    border:1px solid var(--bad-border);background:#fff;color:var(--bad);
    padding:0 14px;border-radius:8px;font-size:var(--fs-sm);font-weight:700;
}
.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 12px;max-height:540px;overflow:auto;padding:2px 4px 2px 2px;}
.results-empty{font-size:var(--fs-sm);color:var(--subtle);text-align:center;padding:20px;grid-column:1/-1;}

/* ================= FACTS ================= */

.stats{
    background:#fff;border:1px solid #e7edf6;border-radius:15px;margin-top:24px;padding:22px;
    display:grid;grid-template-columns:repeat(4,1fr);list-style:none;
}
.stat{display:flex;align-items:center;justify-content:center;gap:13px;border-right:1px solid #e7edf6;padding:0 12px;}
.stat:last-child{border:0;}
.stat-icon{width:42px;height:42px;border-radius:9px;background:var(--blue-soft);display:flex;align-items:center;justify-content:center;color:var(--blue);flex:none;}
.stat strong{display:block;font-size:var(--fs-lg);line-height:1.2;}
.stat span{color:var(--muted);font-size:var(--fs-sm);}

/* ================= SECTIONS ================= */

main > section{margin-top:56px;}
main > section.hero{margin-top:0;}
.section-heading{text-align:center;font-size:var(--fs-2xl);font-weight:800;line-height:1.2;}
.heading-line{width:36px;height:3px;background:var(--blue);margin:12px auto 28px;border-radius:10px;}

/* HOW */
.how{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid #e6edf7;border-radius:15px;padding:28px 25px;list-style:none;}
.step{text-align:center;position:relative;padding:0 15px;}
.step-number{position:absolute;top:-3px;left:12px;width:26px;height:26px;border-radius:50%;background:var(--blue);color:#fff;font-size:var(--fs-xs);display:flex;align-items:center;justify-content:center;font-weight:800;}
.step-icon{width:62px;height:62px;border-radius:50%;margin:0 auto 14px;background:var(--blue-soft);color:var(--blue);display:flex;align-items:center;justify-content:center;}
.step-icon .icon{width:28px;height:28px;}
.step-arrow{position:absolute;right:-12px;top:22px;color:#8894b0;}
.step h3{font-size:var(--fs-base);margin-bottom:6px;}
.step p{font-size:var(--fs-sm);line-height:1.55;color:var(--muted);}

/* PRICES */
.pricing{background:#fff;border:1px solid #e6edf7;border-radius:15px;padding:28px;}
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.price-card{border:1px solid #e2e8f3;border-radius:var(--radius);padding:22px 18px 18px;position:relative;display:flex;flex-direction:column;}
.price-card.popular{border:2px solid #5d91ff;}
.badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--blue);color:#fff;font-size:var(--fs-xs);font-weight:700;padding:3px 12px;border-radius:10px;white-space:nowrap;}
.price-card h3{font-size:var(--fs-base);margin-bottom:8px;}
.price{color:var(--blue);font-size:30px;font-weight:800;line-height:1.1;}
.price small{font-size:var(--fs-sm);}
.price-list{list-style:none;margin:14px 0 18px;flex:1;}
.price-list li{display:flex;gap:8px;align-items:flex-start;font-size:var(--fs-sm);color:var(--muted);margin:8px 0;}
.price-list .icon{color:var(--ok);margin-top:1px;}
.payment{text-align:center;justify-content:center;align-items:center;gap:10px;}
.payment .pay-icon{width:52px;height:52px;border-radius:50%;background:var(--blue-soft);color:var(--blue);display:flex;align-items:center;justify-content:center;}
.payment p{font-size:var(--fs-sm);color:var(--muted);}

/* SUGGESTIONS */
.personalized{background:#fff;border:1px solid #e6edf7;border-radius:16px;padding:28px;}
.custom-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px 15px;list-style:none;}
.custom-link{
    display:block;width:100%;background:none;border:0;padding:4px;border-radius:8px;text-align:inherit;
}
.custom-plate{display:flex;height:50px;border:1.5px solid #202020;border-radius:4px;background:#fff;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,.04);transition:transform .2s,box-shadow .2s;}
.custom-link:hover .custom-plate{transform:translateY(-2px);box-shadow:0 6px 15px rgba(20,87,232,.12);}
.custom-ro{width:34px;background:#075de5;color:#fff;display:flex;align-items:flex-end;justify-content:center;padding-bottom:5px;font-weight:800;font-size:var(--fs-xs);position:relative;flex:none;}
.custom-ro:before{content:"";position:absolute;top:6px;left:50%;width:14px;height:14px;margin-left:-7px;border:2px dotted #ffe500;border-radius:50%;}
.custom-text{flex:1;display:flex;justify-content:center;align-items:center;font-family:monospace;font-size:var(--fs-lg);font-weight:800;letter-spacing:.5px;color:#111;white-space:nowrap;}
.custom-link .tag{display:flex;justify-content:center;align-items:center;gap:4px;font-size:var(--fs-xs);font-weight:700;margin-top:6px;min-height:18px;color:var(--subtle);}
.custom-link.is-loading .custom-plate{opacity:.55;}
.custom-link.available .tag{color:var(--ok);}
.custom-link.unavailable .tag{color:var(--bad);}
.custom-link.error .tag{color:var(--warn);}
.personalized-note{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:22px;color:var(--muted);font-size:var(--fs-sm);text-align:center;}
.personalized-note .note-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--blue-soft);color:var(--blue);flex:none;}
.suggest-status{text-align:center;margin-top:12px;color:var(--warn);font-size:var(--fs-sm);font-weight:600;}
.suggest-status:empty{display:none;}

/* COUNTIES */
.counties{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;list-style:none;}
.county{min-width:96px;min-height:56px;padding:10px 16px;background:#fff;border:1px solid #d6dfee;border-radius:8px;text-align:center;}
.county:hover{border-color:var(--blue);}
.county[aria-pressed="true"]{background:var(--blue);color:#fff;border-color:var(--blue);}
.county strong{display:block;font-size:var(--fs-base);}
.county span{display:block;font-size:var(--fs-xs);margin-top:2px;}

/* WHY */
.why{background:#fff;border:1px solid #e6edf7;border-radius:15px;padding:28px;display:grid;grid-template-columns:repeat(4,1fr);list-style:none;}
.why-item{text-align:center;padding:0 20px;border-right:1px solid #e7edf5;}
.why-item:last-child{border:0;}
.why-icon{width:44px;height:44px;margin:0 auto 10px;border-radius:50%;background:var(--blue-soft);color:var(--blue);display:flex;align-items:center;justify-content:center;}
.why-item h3{font-size:var(--fs-base);margin-bottom:6px;}
.why-item p{font-size:var(--fs-sm);color:var(--muted);line-height:1.5;}

/* CTA */
.cta{
    margin-top:48px;background:linear-gradient(100deg,#073ccf,#1d6fe0);border-radius:14px;
    padding:28px 36px;display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.cta h2{color:#fff;font-size:var(--fs-xl);margin-bottom:6px;line-height:1.25;}
.cta p{color:#e8efff;font-size:var(--fs-base);margin-bottom:18px;}
.cta-plate{display:flex;width:240px;height:58px;border:2px solid #8aa3c8;border-radius:6px;background:#fff;overflow:hidden;flex:none;}
.cta-ro{width:42px;background:#075de5;color:#fff;display:flex;align-items:flex-end;justify-content:center;padding-bottom:5px;font-weight:800;font-size:var(--fs-sm);}
.cta-number{flex:1;display:flex;align-items:center;justify-content:center;font-family:monospace;font-size:22px;font-weight:800;color:#111;}
.cta-check{width:42px;display:flex;align-items:center;justify-content:center;color:var(--ok);}
.cta-check .icon{width:26px;height:26px;stroke-width:3;}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;align-items:start;}
.faq{background:#fff;border:1px solid #e4eaf4;border-radius:8px;}
.faq summary{
    list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;
    min-height:52px;padding:12px 16px;font-size:var(--fs-base);font-weight:600;cursor:pointer;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary .icon{color:var(--blue);transition:transform .2s;}
.faq[open] summary .icon{transform:rotate(180deg);}
.faq p{padding:0 16px 16px;font-size:var(--fs-sm);color:var(--muted);line-height:1.6;}

/* FOOTER */
footer{margin-top:56px;background:#fff;border-top:1px solid #e7edf5;padding:36px 0 20px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px;}
.footer-logo{font-size:var(--fs-lg);color:var(--blue);font-weight:800;margin-bottom:8px;}
footer p,footer li{color:var(--muted);font-size:var(--fs-sm);line-height:1.7;}
footer ul{list-style:none;}
footer a{color:var(--muted);text-decoration:none;}
footer a:hover{color:var(--blue);text-decoration:underline;}
footer h2{font-size:var(--fs-sm);margin-bottom:8px;}
.disclaimer{margin-top:12px;padding:12px;border-radius:8px;background:var(--bg);border:1px solid var(--border);font-size:var(--fs-xs);color:var(--muted);line-height:1.5;}
.footer-bottom{margin-top:26px;padding-top:16px;border-top:1px solid #edf1f6;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:var(--fs-xs);color:var(--subtle);}

/* ================= RESPONSIVE ================= */

@media(max-width:900px){
    :root{--header-h:60px;--fs-hero:36px;--fs-2xl:26px;}

    .nav-links{display:none;}
    .logo-sub{display:none;}

    .hero{padding-top:32px;}
    .hero-grid{grid-template-columns:1fr;grid-template-areas:"intro" "checker" "card";gap:28px;}
    .hero-features{grid-template-columns:1fr 1fr;}

    .checker{padding:24px 20px;}
    .results-grid{grid-template-columns:1fr 1fr;}

    .stats{grid-template-columns:1fr 1fr;gap:20px;}
    .stat{border:0;justify-content:flex-start;}

    .how{grid-template-columns:1fr 1fr;gap:30px;}
    .step-arrow{display:none;}

    .price-grid{grid-template-columns:1fr 1fr;}
    .custom-grid{grid-template-columns:repeat(3,1fr);}

    .why{grid-template-columns:1fr 1fr;gap:25px;}
    .why-item{border:0;}

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

@media(max-width:600px){
    .form-grid{grid-template-columns:1fr;gap:16px;}
    .results-grid{grid-template-columns:1fr;}
    .stats{grid-template-columns:1fr;}
    .how{grid-template-columns:1fr;}
    .price-grid{grid-template-columns:1fr;}
    .custom-grid{grid-template-columns:1fr 1fr;}
    .custom-text{font-size:var(--fs-base);}
    .why{grid-template-columns:1fr;}
    .why-item{border-bottom:1px solid #edf1f6;padding-bottom:20px;}
    .why-item:last-child{border:0;}
    .faq-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr;}
    .cta{padding:24px 20px;}
    .cta-plate{width:100%;}
    .header-cta span{display:none;}
    .header-cta{padding:0 14px;}
    .filter,.stop-btn{min-height:44px;}
}

@media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
    .custom-link:hover .custom-plate{transform:none;}
}

/* ---------- legal pages ---------- */
.legal{max-width:760px;margin:40px auto 64px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:40px 44px;}
.legal .back{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);margin-bottom:20px;}
.legal h1{font-size:var(--fs-2xl);line-height:1.2;margin-bottom:6px;}
.legal .updated{font-size:var(--fs-sm);color:var(--subtle);margin-bottom:28px;}
.legal h2{font-size:var(--fs-lg);margin:28px 0 10px;}
.legal p,.legal li{font-size:var(--fs-base);line-height:1.65;color:var(--text);}
.legal p{margin-bottom:12px;}
.legal ul{padding-left:22px;margin-bottom:12px;}
.legal li{margin-bottom:6px;}
.legal .company{margin-top:36px;padding-top:18px;border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--muted);}
@media(max-width:600px){.legal{padding:24px 18px;margin:20px auto 40px;}.legal h1{font-size:var(--fs-xl);}}

/* consent checkbox in the order form */
.consent{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:var(--fs-sm);line-height:1.5;color:var(--text);font-weight:400;cursor:pointer;}
.consent input{width:20px;height:20px;min-width:20px;padding:0;margin:1px 0 0;accent-color:var(--blue);box-shadow:none;}
.consent input[aria-invalid="true"]{outline:2px solid var(--bad);outline-offset:2px;}

/* ---------- report page (raport.html) ---------- */
.report-page{background:var(--bg);}
.report{padding:32px 0 56px;display:flex;flex-direction:column;gap:20px;}
.btn-sm{padding:0 14px;}

.report-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;
    background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:28px;}
.report-eyebrow{font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--subtle);margin-bottom:10px;}
.report-title{margin:0;}
.plate.plate-lg{height:56px;min-width:240px;border-width:2px;border-radius:6px;}
.plate-lg .plate-ro{width:40px;font-size:12px;padding-bottom:5px;}
.plate-lg .plate-ro:before{top:8px;width:16px;height:16px;margin-left:-8px;}
.plate-lg .plate-number{font-size:var(--fs-xl);letter-spacing:2px;padding:0 18px;}
.report-meta{margin-top:12px;font-size:var(--fs-sm);color:var(--muted);}

.state-pill{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border-radius:999px;
    font-size:var(--fs-sm);font-weight:700;border:1px solid;}
.state-pending{color:var(--blue);background:var(--blue-soft);border-color:#cfdcfb;}
.state-running{color:var(--blue);background:var(--blue-soft);border-color:#cfdcfb;}
.state-done{color:var(--ok);background:var(--ok-bg);border-color:var(--ok-border);}
.state-warn{color:var(--warn);background:var(--warn-bg);border-color:var(--warn-border);}

.report-notice:empty{display:none;}
.report-notice{padding:14px 16px;border-radius:var(--radius);background:var(--blue-soft);color:var(--text);font-size:var(--fs-sm);line-height:1.5;}
.report-notice.warn{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn-border);}

.report-progress{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;}
.progress-row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px;font-size:var(--fs-sm);}
.progress-eta{color:var(--subtle);}
.progress.progress-lg{height:12px;margin-bottom:12px;}
.progress-hint{display:flex;gap:8px;align-items:center;font-size:var(--fs-sm);color:var(--muted);}

.report-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.stat-card{display:flex;align-items:center;gap:14px;min-height:84px;padding:16px 18px;text-align:left;cursor:pointer;
    background:var(--white);border:1px solid var(--border);border-radius:var(--radius);font:inherit;color:var(--text);
    transition:border-color .15s,box-shadow .15s;}
.stat-card:hover{border-color:#b9c8ea;}
.stat-card[aria-pressed="true"]{box-shadow:0 0 0 2px var(--blue);border-color:var(--blue);}
.stat-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;flex:none;font-size:20px;}
.stat-available .stat-icon{background:var(--ok-bg);color:var(--ok);}
.stat-unavailable .stat-icon{background:var(--bad-bg);color:var(--bad);}
.stat-error .stat-icon{background:var(--warn-bg);color:var(--warn);}
.stat-all .stat-icon{background:var(--blue-soft);color:var(--blue);}
.stat-body{display:flex;flex-direction:column;}
.stat-value{font-size:var(--fs-xl);font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums;}
.stat-label{font-size:var(--fs-sm);color:var(--muted);}

.report-results{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px 24px;}
.results-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px;}
.results-heading{font-size:var(--fs-lg);}
.toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.search-field{position:relative;display:block;margin:0;font-weight:400;}
.search-field .icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--subtle);pointer-events:none;}
.search-field input{height:44px;width:200px;padding-left:38px;}
.report-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;}
.report-grid .plate-status{margin:0;}
.report-grid .results-empty{grid-column:1/-1;}

.report-empty{text-align:center;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:40px 24px;}
.empty-icon{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--bad-bg);color:var(--bad);font-size:26px;margin-bottom:14px;}
.report-empty h2{font-size:var(--fs-lg);margin-bottom:8px;}
.report-empty p{color:var(--muted);max-width:52ch;margin:0 auto 18px;line-height:1.6;}

.report-next{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:24px;}
.report-next h2{font-size:var(--fs-lg);margin-bottom:14px;}
.next-steps{list-style:none;display:grid;gap:12px;margin-bottom:16px;}
.next-steps li{display:flex;gap:12px;align-items:flex-start;line-height:1.55;max-width:75ch;}
.step-n{flex:none;width:28px;height:28px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-weight:800;font-size:var(--fs-sm);display:grid;place-items:center;}
.next-link{display:inline-flex;align-items:center;gap:6px;font-weight:700;min-height:44px;}
.report-disclaimer{display:flex;gap:8px;align-items:center;margin-top:8px;font-size:var(--fs-xs);color:var(--subtle);}
.report-disclaimer .icon{color:var(--ok);}

.report-footer{border-top:1px solid var(--border);background:var(--white);padding:18px 0;font-size:var(--fs-sm);color:var(--muted);}
.report-footer .container{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.report-footer nav{display:flex;gap:16px;flex-wrap:wrap;}

@media(max-width:900px){.report-stats{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){
    .report{padding:16px 0 40px;gap:14px;}
    .report-hero,.report-progress,.report-results,.report-next{padding:18px 16px;}
    .plate.plate-lg{min-width:0;width:100%;}
    .plate-lg .plate-number{font-size:var(--fs-lg);}
    .stat-card{min-height:72px;padding:12px;gap:10px;}
    .stat-value{font-size:var(--fs-lg);}
    .toolbar-actions{width:100%;}
    .search-field{flex:1 1 100%;}
    .search-field input{width:100%;}
    .report-grid{grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce){.stat-card{transition:none;}}
/* single-category view: plates only, denser (the heading already says the status) */
.report-grid.compact{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:8px;}
.report-grid.compact .plate-status{padding:6px;justify-content:center;}
.report-grid.compact .status{display:none;}
.report-grid.compact .plate{min-width:0;width:100%;}
@media(max-width:600px){.report-grid.compact{grid-template-columns:repeat(2,1fr);}}

/* the landing page spaces sections with margin-top; the report uses flex gap instead */
.report > section{margin-top:0;}
