.fr-fe { --red:#c62828;--red-dark:#8e1818;--orange:#ef6c00;--amber:#ffb300;--ink:#20252b;--muted:#5e6873;--line:#e4e7ea;--soft:#fff8f1;--danger-soft:#fff2f2;--white:#ffffff;width:100%;max-width:1040px;margin:0 auto;color:var(--ink);font-size:18px;line-height:1.65;} .fr-fe *, .fr-fe *::before, .fr-fe *::after { box-sizing:border-box;} .fr-fe h2, .fr-fe h3, .fr-fe p, .fr-fe ul, .fr-fe ol { max-width:100%;} .fr-fe h2, .fr-fe h3 { color:var(--ink);line-height:1.18;} .fr-fe h2 { width:100%;margin:0 0 14px;font-size:clamp(1.7rem, 3.3vw, 2.5rem);letter-spacing:-0.025em;} .fr-fe h3 { margin:0 0 8px;font-size:1.16rem;} .fr-fe p { margin:0 0 16px;} .fr-fe a { color:var(--red-dark);text-underline-offset:3px;} .fr-fe__hero { padding:clamp(26px, 5vw, 54px);border-top:7px solid var(--red);border-bottom:1px solid var(--line);background:radial-gradient(circle at 92% 10%, rgba(255, 179, 0, 0.24), transparent 28%), linear-gradient(135deg, #ffffff 0%, #fff8ef 100%);} .fr-fe__eyebrow, .fr-fe__kicker { margin:0 0 8px;color:var(--red);font-size:0.78rem;font-weight:850;letter-spacing:0.1em;text-transform:uppercase;} .fr-fe__content-title { max-width:900px;font-size:clamp(2rem, 5vw, 4rem);letter-spacing:-0.04em;} .fr-fe__lead { max-width:820px;color:#3d4650;font-size:clamp(1.05rem, 2vw, 1.28rem);} .fr-fe__badges { display:flex;flex-wrap:wrap;gap:8px;margin:18px 0;} .fr-fe__badges span { padding:5px 10px;border:1px solid #f4c7a4;border-radius:999px;background:#fff;color:#6a3921;font-size:0.82rem;font-weight:750;} .fr-fe__hero-actions { display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;} .fr-fe__button { display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:10px 16px;border:2px solid var(--red);border-radius:10px;font-weight:800;text-decoration:none;} .fr-fe__button--primary { color:#fff !important;background:var(--red);} .fr-fe__button--secondary { color:var(--red-dark) !important;background:#fff;} .fr-fe__section, .fr-fe__international { width:100%;padding:34px 20px;border-bottom:1px solid var(--line);} .fr-fe__section > *:last-child, .fr-fe__international > *:last-child { margin-bottom:0;} .fr-fe__alert { width:auto;margin:20px;padding:16px;border:1px solid #f2cf9d;border-left:5px solid var(--orange);border-radius:10px;background:var(--soft);} .fr-fe__alert h2, .fr-fe__alert h3 { margin-bottom:7px;} .fr-fe__alert p:last-child { margin-bottom:0;} .fr-fe__alert--danger { border-color:#efb7b7;border-left-color:var(--red);background:var(--danger-soft);} .fr-fe__alert--warning { border-left-color:var(--amber);background:#fff9e8;} .fr-fe__alert--danger:first-of-type { display:grid;grid-template-columns:62px 1fr;gap:16px;align-items:start;} .fr-fe__alert-mark { display:grid;width:56px;height:56px;place-items:center;border-radius:50%;color:#fff;background:var(--red);font-weight:900;} .fr-fe__toc { margin:20px;padding:16px;border:1px solid var(--line);border-radius:10px;background:#fff;} .fr-fe__toc h2 { font-size:1.25rem;} .fr-fe__toc-links { display:flex;flex-wrap:wrap;gap:8px;} .fr-fe__toc-links a { padding:6px 10px;border-radius:7px;background:#fff4ea;font-size:0.9rem;font-weight:750;text-decoration:none;} .fr-fe__table-wrap { width:100%;overflow-x:auto;margin:20px 0;border:1px solid var(--line);border-radius:10px;} .fr-fe__table { width:100%;min-width:780px;border-collapse:collapse;background:#fff;} .fr-fe__table th, .fr-fe__table td { padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;} .fr-fe__table th { color:#fff;background:var(--red-dark);font-size:0.94rem;} .fr-fe__table tbody tr:last-child td { border-bottom:0;} .fr-fe__band { display:inline-block;min-width:88px;padding:5px 8px;border:1px solid #b9bec4;border-radius:6px;text-align:center;font-size:0.84rem;font-weight:850;} .fr-fe__band--red { color:#fff;background:#d32f2f;} .fr-fe__band--blue { color:#fff;background:#2454b7;} .fr-fe__band--white { color:#222;background:#fff;} .fr-fe__band--black { color:#fff;background:#111;} .fr-fe__band--yellow { color:#222;background:#ffd600;} .fr-fe__band--oatmeal { color:#3f2b19;background:#e7cfaa;} .fr-fe__classes { display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:10px;margin:20px 0;} .fr-fe__class-card { display:flex;min-width:0;gap:12px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;} .fr-fe__class-card p { margin-bottom:0;} .fr-fe__class-letter { display:grid;flex:0 0 44px;width:44px;height:44px;place-items:center;border-radius:9px;color:#fff;background:linear-gradient(135deg, var(--red), var(--orange));font-size:1.2rem;font-weight:900;} .fr-fe__type-list { display:grid;gap:12px;margin-top:20px;} .fr-fe__type { display:grid;grid-template-columns:16px 1fr;gap:14px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff;} .fr-fe__type p:last-child { margin-bottom:0;} .fr-fe__type-band { width:16px;min-height:100%;border-radius:7px;} .fr-fe__type-band--red { background:#d32f2f;} .fr-fe__type-band--blue { background:#2454b7;} .fr-fe__type-band--white { border:1px solid #aeb4ba;background:#fff;} .fr-fe__type-band--black { background:#111;} .fr-fe__type-band--yellow { background:#ffd600;} .fr-fe__type-band--oatmeal { background:#e7cfaa;} .fr-fe__numbered { display:grid;gap:10px;padding-left:28px;} .fr-fe__numbered li { padding:12px 14px;border-left:4px solid var(--orange);border-radius:0 8px 8px 0;background:#fff8f1;} .fr-fe__pass { display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:10px;margin:20px 0;} .fr-fe__pass-step { padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;} .fr-fe__pass-step > span { display:grid;width:40px;height:40px;place-items:center;margin-bottom:10px;border-radius:50%;color:#fff;background:var(--red);font-size:1.25rem;font-weight:900;} .fr-fe__pass-step p { margin-bottom:0;} .fr-fe__grid { display:grid;gap:10px;margin:20px 0;} .fr-fe__grid--2 { grid-template-columns:repeat(2, minmax(0, 1fr));} .fr-fe__grid--3 { grid-template-columns:repeat(3, minmax(0, 1fr));} .fr-fe__card { min-width:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;} .fr-fe__card p:last-child { margin-bottom:0;} .fr-fe__checklist { display:grid;gap:8px;margin:16px 0;padding:0;list-style:none;} .fr-fe__checklist li { position:relative;padding-left:30px;} .fr-fe__checklist li::before { content:"✓";position:absolute;left:0;top:2px;display:grid;width:21px;height:21px;place-items:center;border-radius:50%;color:#fff;background:var(--orange);font-size:0.72rem;font-weight:900;} .fr-fe__mistakes { display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:10px;margin-top:20px;} .fr-fe__mistakes > div { padding:12px;border-left:4px solid var(--amber);border-radius:0 8px 8px 0;background:#fffaf0;} .fr-fe__mistakes p { margin-bottom:0;} .fr-fe__links { display:grid;gap:8px;margin-top:18px;} .fr-fe__links a { display:block;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;font-weight:750;text-decoration:none;} .fr-fe__international { margin:24px 0;border-top:1px solid #f0c8a4;border-bottom:1px solid #f0c8a4;background:linear-gradient(135deg, #fff5f5, #fff9ed);} .fr-fe__faq { display:grid;gap:8px;} .fr-fe__faq details { border:1px solid var(--line);border-radius:9px;background:#fff;} .fr-fe__faq summary { cursor:pointer;padding:13px;font-weight:800;} .fr-fe__faq details p { padding:0 13px 13px;margin:0;} .fr-fe__footer { padding:34px 20px;color:#fff;background:linear-gradient(135deg, var(--red-dark), var(--red), var(--orange));} .fr-fe__footer h2, .fr-fe__footer p { color:#fff;} .fr-fe__small { font-size:0.9rem;} .fr-fe__brand { margin-top:18px;font-weight:850;} .fr-fe__download-status { flex-basis:100%;margin:4px 0 0;padding:8px 10px;border-radius:7px;background:#fff4cf;color:#5a3c00;font-size:0.9rem;font-weight:750;} @media (max-width:780px) { .fr-fe { font-size:17px;} .fr-fe__section, .fr-fe__international { padding:28px 16px;} .fr-fe__alert, .fr-fe__toc { margin:16px;} .fr-fe__classes, .fr-fe__grid--2, .fr-fe__grid--3, .fr-fe__mistakes { grid-template-columns:1fr;} .fr-fe__pass { grid-template-columns:repeat(2, minmax(0, 1fr));} } @media (max-width:520px) { .fr-fe__hero-actions, .fr-fe__button { width:100%;} .fr-fe__alert--danger:first-of-type { grid-template-columns:1fr;} .fr-fe__pass { grid-template-columns:1fr;} .fr-fe__class-card { align-items:flex-start;} } @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto;} }