/* Independent modal presentation. The original login and Apple forms stay mounted. */
body.eff-open { overflow:hidden!important; }
#efacil-free-dialog { --eff-navy:#0d2441; --eff-lime:#dcf545; --eff-pad:36px; padding:0; border:0; margin:auto; width:min(1160px,100%); height:min(100dvh,1400px); max-width:100vw; max-height:100dvh; overflow:hidden; background:transparent; color:var(--eff-navy); font:16px/1.55 Arial,Helvetica,sans-serif; }
#efacil-free-dialog::backdrop { background:rgba(7,23,43,.86); backdrop-filter:blur(5px); }
#efacil-free-dialog *, #efacil-free-dialog *::before, #efacil-free-dialog *::after { box-sizing:border-box; }
#efacil-free-dialog [hidden] { display:none!important; }
#efacil-free-dialog .eff-scroll { height:100%; overflow:auto; overscroll-behavior:contain; padding:32px 22px; scrollbar-gutter:stable; }
#efacil-free-dialog .eff-card { border-radius:26px; overflow:hidden; background:linear-gradient(120deg,#10263e,#1b3a52); box-shadow:0 18px 70px #03122566; min-height:600px; }
#efacil-free-dialog :is(h1,h2,h3,p,ul,ol) { margin:0; font-family:inherit; color:inherit; }
#efacil-free-dialog h1 { font-size:34px; line-height:1.18; letter-spacing:-.8px; font-weight:700; }
#efacil-free-dialog h2 { font-size:25px; line-height:1.25; letter-spacing:-.4px; font-weight:700; }
#efacil-free-dialog :is(button,a,select,summary,[tabindex]):focus-visible { outline:3px solid #9bbd00; outline-offset:4px; }
#efacil-free-dialog #eff-title:focus { outline:0; }
#efacil-free-dialog a { color:inherit; text-underline-offset:3px; }
#efacil-free-dialog button { font:inherit; cursor:pointer; text-transform:none; letter-spacing:normal; }
#efacil-free-dialog .eff-topbar { display:flex; justify-content:space-between; align-items:center; padding:26px var(--eff-pad) 14px; color:#fff; }
#efacil-free-dialog .eff-topbar > img { display:block; width:132px; height:auto; }
#efacil-free-dialog .eff-tools { display:flex; align-items:center; gap:22px; }
#efacil-free-dialog .eff-tools a { display:flex; align-items:center; gap:8px; min-height:44px; text-decoration:none; font-size:14px; }
#efacil-free-dialog .eff-tools a span { border:1px solid currentColor; border-radius:50%; width:21px; height:21px; display:grid; place-items:center; }
#efacil-free-dialog .eff-tools button { display:grid; place-items:center; height:44px; width:44px; padding:0; border:1px solid #738092; border-radius:50%; font-size:28px; line-height:1; color:#fff; background:#ffffff0a; }
#efacil-free-dialog .eff-hero { position:relative; padding:0 var(--eff-pad) 30px; color:#fff; }
#efacil-free-dialog .eff-back { display:flex; width:fit-content; align-items:center; gap:9px; padding:5px 0; min-height:44px; margin:0 0 14px; border:0; border-radius:0; background:none; color:#fff; font-size:14px; text-decoration:none; }
#efacil-free-dialog .eff-back span { font-size:23px; }
#efacil-free-dialog .eff-audience { margin:8px 0 12px; font-size:16px; }
#efacil-free-dialog .eff-badge { display:inline-block; background:var(--eff-lime); color:var(--eff-navy); border-radius:30px; padding:3px 12px; font-size:13px; font-weight:700; }
#efacil-free-dialog .eff-illustrated { min-height:225px; padding-right:300px; }
#efacil-free-dialog .eff-people { position:absolute; width:187px; height:240px; object-fit:contain; right:65px; bottom:6px; }
#efacil-free-dialog .eff-sheet { position:relative; padding:28px var(--eff-pad) 30px; background:#fff; border-radius:25px 25px 0 0; }
#efacil-free-dialog .eff-intro p { margin-top:5px; }
#efacil-free-dialog .eff-muted { color:#6a7581; font-size:14px; }
#efacil-free-dialog .eff-button { display:flex; min-height:46px; justify-content:center; align-items:center; gap:12px; border:1px solid transparent; border-radius:7px; padding:10px 17px; font-size:15px; line-height:1.4; font-weight:700; text-decoration:none; text-align:center; cursor:pointer; }
#efacil-free-dialog .eff-primary { background:var(--eff-lime); color:var(--eff-navy); }
#efacil-free-dialog .eff-navy { background:var(--eff-navy); color:#fff; }
#efacil-free-dialog .eff-outline { border-color:var(--eff-navy); background:#fff; color:var(--eff-navy); }
#efacil-free-dialog .eff-start { position:relative; max-width:450px; margin-top:19px; padding-right:42px; }
#efacil-free-dialog .eff-start::after { content:'→'; position:absolute; right:16px; font-size:25px; font-weight:400; }
#efacil-free-dialog .eff-tabs { display:grid; grid-template-columns:1fr 1fr; background:#eaf0f5; padding:2px; gap:2px; border-radius:9px; max-width:550px; margin:22px 0 16px; }
#efacil-free-dialog .eff-tabs a { display:grid; place-items:center; min-height:44px; padding:8px; border-radius:7px; font-weight:700; text-decoration:none; }
#efacil-free-dialog .eff-tabs [aria-current] { color:#fff; background:var(--eff-navy); }
#efacil-free-dialog .eff-lessons { list-style:none; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:11px 18px; }
#efacil-free-dialog .eff-lessons li { margin:0; min-width:0; }
#efacil-free-dialog .eff-lessons a { min-height:76px; display:flex; align-items:center; gap:12px; padding:12px; border:1px solid #dce0e5; border-radius:9px; text-decoration:none; line-height:1.4; font-size:15px; }
#efacil-free-dialog .eff-lessons li:first-child a { background:#f7fbe8; }
#efacil-free-dialog .eff-number { width:37px; height:37px; flex:0 0 37px; border-radius:50%; background:#eaf0f3; display:grid; place-items:center; font-size:23px; font-weight:700; line-height:1; }
#efacil-free-dialog .eff-lessons li:first-child .eff-number { background:#e6f6a7; }
#efacil-free-dialog .eff-lesson-label { flex:1; }
#efacil-free-dialog .eff-duration { font-size:12px; color:#617080; white-space:nowrap; }
#efacil-free-dialog .eff-material-card { margin-top:22px; padding:18px; display:flex; align-items:center; gap:15px; border:1px solid #b9c2cc; border-radius:9px; }
#efacil-free-dialog .eff-material-card h2 { font-size:19px; margin:0 0 4px; }
#efacil-free-dialog .eff-material-card p { font-size:14px; }
#efacil-free-dialog .eff-material-card .eff-button { margin-left:auto; white-space:nowrap; }
#efacil-free-dialog .eff-file-icon { width:50px; height:58px; flex:0 0 50px; background:#eaf0f5; border-radius:8px; display:grid; place-items:center; font-size:36px; }
#efacil-free-dialog .eff-footer { margin-top:25px; padding-top:18px; border-top:1px solid #e1e5ea; text-align:center; font-size:14px; }
#efacil-free-dialog .eff-footer button { display:inline-flex; align-items:center; min-height:44px; border:0; background:none; color:inherit; text-decoration:underline; text-underline-offset:3px; padding:4px 12px; font-size:14px; }
#efacil-free-dialog .eff-eyebrow { text-transform:uppercase; letter-spacing:.35px; font-size:12px; color:#dce4ec; margin:0 0 10px; }
#efacil-free-dialog .eff-lesson-hero h1 { max-width:920px; font-size:31px; }
#efacil-free-dialog .eff-lesson-hero .eff-badge { margin-top:14px; }
#efacil-free-dialog .eff-lesson-layout { display:grid; grid-template-columns:minmax(235px,29%) minmax(0,1fr); align-items:start; gap:26px; }
#efacil-free-dialog .eff-preparation { display:grid; gap:12px; }
#efacil-free-dialog .eff-prep-card { padding:22px; border-radius:9px; background:#f0f5f8; }
#efacil-free-dialog .eff-prep-card h2 { font-size:19px; letter-spacing:-.2px; margin:10px 0; }
#efacil-free-dialog .eff-prep-icon { font-size:33px; display:block; line-height:1; }
#efacil-free-dialog .eff-prep-card :is(ul,.eff-copy) { font-size:14px; line-height:1.65; color:#576a7c; }
#efacil-free-dialog .eff-prep-card ul { padding-left:18px; }
#efacil-free-dialog .eff-prep-card .eff-button { width:fit-content; margin-top:14px; font-size:13px; min-height:44px; padding:9px 12px; }
#efacil-free-dialog .eff-timeline > h2 { margin-bottom:16px; }
#efacil-free-dialog .eff-phase { border:1px solid #dce0e5; border-radius:10px; margin:0 0 12px; background:#fff; overflow:clip; }
#efacil-free-dialog .eff-phase summary { display:flex; align-items:center; gap:12px; min-height:68px; padding:13px 16px; font-size:18px; line-height:1.4; font-weight:700; cursor:pointer; list-style:none; }
#efacil-free-dialog .eff-phase summary::-webkit-details-marker { display:none; }
#efacil-free-dialog .eff-phase summary > span:nth-child(2) { flex:1; }
#efacil-free-dialog .eff-phase[open] .eff-number { background:var(--eff-lime); }
#efacil-free-dialog .eff-chevron { flex:0 0 8px; width:8px; height:8px; border-right:1.5px solid; border-bottom:1.5px solid; transform:rotate(45deg); margin-right:4px; }
#efacil-free-dialog .eff-phase[open] .eff-chevron { transform:rotate(225deg); }
#efacil-free-dialog .eff-copy { line-height:1.65; overflow-wrap:anywhere; }
#efacil-free-dialog .eff-copy p + p { margin-top:9px; }
#efacil-free-dialog .eff-copy ul, #efacil-free-dialog .eff-copy ol { padding-left:23px; }
#efacil-free-dialog .eff-copy li { padding-left:2px; margin:3px 0; }
#efacil-free-dialog .eff-copy li::marker { color:#8da82c; }
#efacil-free-dialog .eff-copy :is(ul,ol) + p { margin-top:22px; }
#efacil-free-dialog .eff-copy p + :is(ul,ol) { margin-top:8px; }
#efacil-free-dialog .eff-phase-copy { padding:3px 23px 24px; font-size:15px; }
#efacil-free-dialog .eff-lesson-nav { margin-top:25px; }
#efacil-free-dialog .eff-prev-next { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:14px; font-size:14px; }
#efacil-free-dialog .eff-prev-next a { min-height:44px; display:flex; align-items:center; }
#efacil-free-dialog .eff-material-layout { display:grid; grid-template-columns:1.1fr 1fr; gap:26px; margin-top:20px; }
#efacil-free-dialog .eff-pdf-cover { display:block; text-decoration:none; border:1px solid #d4dce4; border-radius:10px; overflow:hidden; background:#f2f5f8; }
#efacil-free-dialog .eff-pdf-cover img { display:block; width:100%; height:auto; }
#efacil-free-dialog .eff-pdf-cover > span { padding:14px 18px; display:flex; justify-content:space-between; border-top:1px solid #d4dce4; font-size:15px; font-weight:700; }
#efacil-free-dialog .eff-download { align-self:center; }
#efacil-free-dialog .eff-download h2 { font-size:26px; }
#efacil-free-dialog .eff-download p { margin:12px 0; }
#efacil-free-dialog .eff-download .eff-button { margin-top:14px; }
#efacil-free-dialog .eff-material-nav { border-top:1px solid #dce1e7; padding-top:20px; margin:30px auto 0; max-width:550px; text-align:center; }
#efacil-free-dialog .eff-material-nav > a + a { display:inline-flex; align-items:center; min-height:44px; margin-top:8px; font-size:14px; }
#efacil-free-dialog .eff-reader-tools { display:flex; align-items:center; gap:18px; margin-bottom:15px; font-size:14px; }
#efacil-free-dialog .eff-page-status { margin-right:auto; font-weight:700; }
#efacil-free-dialog .eff-reader-tools .eff-button { min-height:44px; padding:7px 13px; font-size:14px; }
#efacil-free-dialog .eff-page-image { border:1px solid #d5dce3; border-radius:8px; overflow:auto; max-width:100%; background:#f0f3f7; }
#efacil-free-dialog .eff-page-image img { width:100%; height:auto; display:block; }
#efacil-free-dialog .eff-page-image.is-zoomed { max-height:70dvh; }
#efacil-free-dialog .eff-page-image.is-zoomed img { width:1560px; max-width:none; }
#efacil-free-dialog .eff-reader-nav { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-top:20px; }
#efacil-free-dialog .eff-reader-nav label { font-size:14px; font-weight:400; }
#efacil-free-dialog .eff-reader-nav select { font:inherit; color:var(--eff-navy); background:#fff; border:1px solid #a3b0bd; border-radius:6px; min-height:44px; padding:8px; margin-left:6px; }
#efacil-free-dialog [aria-disabled="true"] { opacity:.35; cursor:default; }
#efacil-free-dialog .eff-image-error { color:#98221f; margin-top:15px; }
#efacil-free-dialog .eff-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
/* One shared centered reading column for the free unit on tablets and desktop. */
@media (min-width:701px) {
    #efacil-free-dialog[data-eff-view="series:0"] :is(.eff-topbar,.eff-hero) { max-width:832px; margin-inline:auto; }
    #efacil-free-dialog[data-eff-view="series:0"] .eff-sheet { padding-inline:max(36px,calc((100% - 760px)/2)); }
    #efacil-free-dialog[data-eff-view="series:0"] .eff-intro { text-align:center; }
    #efacil-free-dialog[data-eff-view="series:0"] :is(.eff-start,.eff-tabs) { width:100%; max-width:none; margin-inline:auto; }
    #efacil-free-dialog[data-eff-view="series:0"] .eff-lessons { grid-template-columns:minmax(0,1fr); }
    #efacil-free-dialog[data-eff-view="series:0"] .eff-lessons a { min-height:70px; padding-inline:16px; }
    #efacil-free-dialog[data-eff-view="series:0"] .eff-people { right:36px; }
}
@media (max-width:700px) {
    #efacil-free-dialog { --eff-pad:22px; width:100%; height:100dvh; }
    #efacil-free-dialog .eff-scroll { padding:0; scrollbar-gutter:auto; background:var(--eff-navy); }
    #efacil-free-dialog .eff-card { border-radius:0; box-shadow:none; min-height:100%; }
    #efacil-free-dialog .eff-topbar { padding-top:max(20px,env(safe-area-inset-top)); padding-bottom:10px; }
    #efacil-free-dialog .eff-topbar > img { width:115px; }
    #efacil-free-dialog .eff-tools { gap:12px; }
    #efacil-free-dialog .eff-tools button { width:44px; height:44px; }
    #efacil-free-dialog .eff-tools a { font-size:13px; }
    #efacil-free-dialog .eff-hero { padding-bottom:24px; }
    #efacil-free-dialog h1 { font-size:28px; letter-spacing:-.65px; }
    #efacil-free-dialog h2 { font-size:24px; }
    #efacil-free-dialog .eff-illustrated { min-height:235px; padding-right:148px; }
    #efacil-free-dialog .eff-illustrated h1 { font-size:27px; }
    #efacil-free-dialog .eff-illustrated .eff-back { white-space:nowrap; margin-right:-140px; }
    #efacil-free-dialog .eff-people { width:127px; height:166px; right:13px; bottom:13px; }
    #efacil-free-dialog .eff-audience { font-size:13px; line-height:1.5; }
    #efacil-free-dialog .eff-badge { font-size:12px; padding:3px 10px; }
    #efacil-free-dialog .eff-back { margin-bottom:12px; }
    #efacil-free-dialog .eff-sheet { padding-top:24px; padding-bottom:calc(25px + env(safe-area-inset-bottom)); border-radius:25px 25px 0 0; }
    #efacil-free-dialog .eff-intro p { font-size:15px; }
    #efacil-free-dialog .eff-intro .eff-muted { font-size:13px; }
    #efacil-free-dialog .eff-start { max-width:none; margin-top:18px; }
    #efacil-free-dialog .eff-lessons { grid-template-columns:1fr; gap:10px; }
    #efacil-free-dialog .eff-lessons a { min-height:74px; gap:10px; font-size:15px; }
    #efacil-free-dialog .eff-duration { font-size:11px; }
    #efacil-free-dialog .eff-material-card { flex-wrap:wrap; padding:17px; gap:12px; }
    #efacil-free-dialog .eff-material-card .eff-button { width:100%; }
    #efacil-free-dialog .eff-file-icon { width:37px; height:48px; flex-basis:37px; }
    #efacil-free-dialog .eff-material-card h2 { font-size:18px; }
    #efacil-free-dialog .eff-material-card p { font-size:13px; }
    #efacil-free-dialog .eff-lesson-hero h1 { font-size:25px; line-height:1.25; }
    #efacil-free-dialog .eff-eyebrow { font-size:11px; }
    #efacil-free-dialog .eff-lesson-layout { display:block; }
    #efacil-free-dialog .eff-preparation { gap:12px; margin-bottom:24px; }
    #efacil-free-dialog .eff-prep-card { padding:18px; }
    #efacil-free-dialog .eff-prep-icon { float:left; font-size:29px; margin-right:10px; }
    #efacil-free-dialog .eff-prep-card h2 { margin:3px 0 13px; }
    #efacil-free-dialog .eff-prep-card .eff-copy, #efacil-free-dialog .eff-prep-card ul { clear:both; font-size:15px; }
    #efacil-free-dialog .eff-timeline > h2 { font-size:23px; }
    #efacil-free-dialog .eff-phase summary { padding:12px; gap:10px; font-size:16px; }
    #efacil-free-dialog .eff-phase .eff-number { width:32px; height:32px; flex-basis:32px; font-size:21px; }
    #efacil-free-dialog .eff-phase-copy { padding:3px 17px 21px; font-size:15px; }
    #efacil-free-dialog .eff-material-layout { grid-template-columns:1fr; gap:23px; }
    #efacil-free-dialog .eff-download h2 { font-size:24px; }
    #efacil-free-dialog .eff-reader-hero h1 { font-size:25px; }
    #efacil-free-dialog .eff-reader-sheet { padding-left:14px; padding-right:14px; }
    #efacil-free-dialog .eff-reader-tools { gap:10px; flex-wrap:wrap; font-size:13px; }
    #efacil-free-dialog .eff-reader-tools > a { min-height:44px; display:flex; align-items:center; }
    #efacil-free-dialog .eff-reader-nav { gap:7px; flex-wrap:wrap; }
    #efacil-free-dialog .eff-reader-nav .eff-button { font-size:13px; padding:9px; flex:1; }
    #efacil-free-dialog .eff-reader-nav label { font-size:0; }
    #efacil-free-dialog .eff-reader-nav select { font-size:14px; margin:0; padding:7px; }
}
@media (max-width:350px) {
    #efacil-free-dialog { --eff-pad:17px; }
    #efacil-free-dialog .eff-illustrated { padding-right:133px; }
    #efacil-free-dialog .eff-illustrated h1 { font-size:25px; }
    #efacil-free-dialog .eff-people { width:112px; height:146px; right:10px; bottom:20px; }
    #efacil-free-dialog .eff-number { width:32px; height:32px; flex-basis:32px; font-size:21px; }
    #efacil-free-dialog .eff-lessons a { gap:8px; padding:10px; font-size:14px; }
    #efacil-free-dialog .eff-lesson-hero h1 { font-size:23px; }
}
@media (prefers-reduced-motion:no-preference) {
    #efacil-free-dialog[open] .eff-card { animation:eff-enter .18s ease-out; }
    @keyframes eff-enter { from { opacity:.6; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
}
