.language-trail,.language-block-visual,.language-block-steps{--language-ink:#213c32;--language-muted:#53665d;--language-accent:#286b4a;--language-pending:#c9d9c9;--language-progress:#c98a29;--language-done:#3d8a5b;color:var(--language-ink)}
.language-trail--ingles,.ingles-course .language-block-visual,.ingles-course .language-block-steps{--language-ink:#302a47;--language-muted:#625c79;--language-accent:#604d9e;--language-pending:#d5cde8;--language-progress:#a2763b;--language-done:#528463}
.language-trail--frances,.frances-course .language-block-visual,.frances-course .language-block-steps{--language-ink:#203951;--language-muted:#53677c;--language-accent:#24709a;--language-pending:#cbdde9;--language-progress:#aa7537;--language-done:#488467}
.language-trail{max-width:1080px;margin:0 auto;padding:1rem 0 3rem}
.language-trail-header{margin:0 0 1.7rem}
.language-trail-eyebrow{display:block;color:var(--language-accent);font-size:.72rem;font-weight:850;letter-spacing:.11em;line-height:1.4;text-transform:uppercase}
.language-trail-header h1{font-size:clamp(2rem,5vw,3.25rem);line-height:1.1;letter-spacing:-.04em;margin:.5rem 0}
.language-trail-header>p{max-width:68ch;color:var(--language-muted);line-height:1.5;margin:.4rem 0 1.2rem}
.language-home-keys{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;list-style:none;padding:0;margin:0}
.language-home-keys li{display:grid;grid-template-columns:38px minmax(0,1fr);gap:1px .65rem;align-items:center;min-width:0;padding:.75rem 1rem;border:1px solid color-mix(in srgb,var(--language-pending) 70%,white);border-radius:16px;background:#fff}
.language-home-keys li>span{display:grid;grid-row:1/3;place-items:center;width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--language-accent) 12%,white);color:var(--language-accent);font-size:1.2rem;font-weight:850}
.language-home-keys strong{font-size:.88rem}.language-home-keys small{font-size:.76rem;line-height:1.35;color:var(--language-muted)}
.language-trail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,300px);gap:2.2rem;align-items:start}
.language-trail-stops{position:relative;isolation:isolate;max-width:680px;width:100%;margin:0 auto}
.language-trail-connector{position:absolute;inset:0;width:100%;height:100%;z-index:0;overflow:visible;fill:none;pointer-events:none}
.language-trail-segment path{stroke:var(--language-pending);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.language-trail-stops ol{position:relative;z-index:1;list-style:none;padding:0;margin:0}
.language-trail-stop{margin:0 0 48px;padding:0}
.language-trail-stop:last-child{margin-bottom:0}
.language-trail-link{display:flex;align-items:center;gap:1.3rem;min-height:150px;padding:.5rem .75rem;color:inherit;text-decoration:none;border-radius:22px;background:transparent}
.language-trail-stop:nth-child(even) .language-trail-link{flex-direction:row-reverse}
.language-trail-stop.is-current .language-trail-label{padding:.75rem;border-radius:17px;background:#fff4d9;box-shadow:0 6px 20px #273f3010}
.language-trail-link:hover .language-trail-label strong{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.language-trail-link:focus-visible,.language-trail-final:focus-visible,.language-resume-button:focus-visible,.language-block-steps a:focus-visible{outline:3px solid var(--language-accent);outline-offset:4px}
.language-trail-label{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:.3rem;min-width:0}
.language-trail-label small{color:var(--language-accent);font-size:.69rem;font-weight:850;letter-spacing:.09em}
.language-trail-label strong{font-size:clamp(1.05rem,2.6vw,1.3rem);line-height:1.18;overflow-wrap:anywhere}
.language-trail-label>span,.language-trail-label em{color:var(--language-muted);font-size:.81rem;line-height:1.4;font-style:normal}
.language-trail-label em{font-size:.73rem;font-weight:800}
.language-leaf-node{position:relative;display:grid;place-items:center;flex:0 0 128px;width:128px;height:128px;isolation:isolate}
.language-leaf-ring{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke-width:4;z-index:1;pointer-events:none}
.language-leaf-surface{fill:#e8efd9;stroke:none}
.language-leaf-track{stroke:var(--language-pending);stroke-linecap:round}
.language-leaf-fill{stroke:var(--language-progress);stroke-linecap:round}
.language-leaf-node[data-state="complete"] .language-leaf-fill{stroke:var(--language-done)}
.language-leaf-art{position:relative;z-index:2;display:grid;place-items:center;width:calc(93.75% - 8px);height:calc(93.75% - 8px);padding:7%;box-sizing:border-box;border-radius:50% 7% 50% 50%;background:transparent;overflow:hidden}
.language-leaf-art img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 4px #26392e25)}
.language-leaf-fallback{font-size:2rem;color:var(--language-accent)}
.language-trail-final{display:flex;align-items:center;gap:.75rem;margin:1.3rem .75rem 0;padding:1rem 0;border-top:1px solid var(--language-pending);color:inherit;text-decoration:none}
.language-trail-final>span:first-child{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:#fff2cf;color:#946526;font-size:1.4rem}
.language-trail-final>span:nth-child(2){display:grid;gap:.2rem;flex:1}.language-trail-final strong{font-size:1rem}.language-trail-final small{color:var(--language-muted)}
.language-trail-resume{position:sticky;top:1.2rem;display:grid;gap:.7rem;padding:1.5rem;border-radius:22px;background:color-mix(in srgb,var(--language-accent) 12%,white);border:1px solid color-mix(in srgb,var(--language-pending) 70%,white)}
.language-trail-resume h2{font-size:1.45rem;line-height:1.16;letter-spacing:-.03em;margin:.2rem 0}
.language-trail-resume p{color:var(--language-muted);line-height:1.5;margin:0}
.language-resume-progress{height:9px;border-radius:99px;background:#fff;overflow:hidden}.language-resume-progress span{display:block;height:100%;border-radius:inherit;background:var(--language-accent)}
.language-trail-resume>small{font-size:.76rem;color:var(--language-muted)}
.language-resume-button{display:flex;justify-content:center;align-items:center;gap:.6rem;min-height:50px;padding:.65rem .9rem;border-radius:15px;background:var(--language-accent);color:white;text-decoration:none;text-align:center;font-weight:850}
.language-block-visual{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(0,1.2fr);gap:1.25rem;align-items:center;margin:1rem 0;padding:1.15rem;border:1px solid var(--language-pending);border-radius:22px;background:#fff;box-shadow:0 7px 20px #213f300a}
.language-block-visual figure{display:grid;place-items:center;min-width:0;min-height:190px;margin:0;border-radius:18px;background:color-mix(in srgb,var(--language-accent) 7%,white)}
.language-block-visual figure img{display:block;width:100%;height:clamp(190px,25vw,260px);max-width:380px;object-fit:contain;padding:.8rem;box-sizing:border-box}
.language-block-visual-copy h2{font-size:clamp(1.25rem,3vw,1.7rem);line-height:1.2;margin:.35rem 0 1rem}
.language-block-visual-copy ul{display:grid;gap:.75rem;list-style:none;padding:0;margin:0}
.language-block-visual-copy li{display:grid;grid-template-columns:2.35rem minmax(0,1fr);gap:.7rem;align-items:start}
.language-block-visual-copy li>span:last-child{display:grid;gap:.1rem}
.language-block-visual-copy strong{font-size:.96rem;line-height:1.3}
.language-block-visual-copy small{color:var(--language-muted);font-size:.85rem;line-height:1.42}
.language-key-icon{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:12px;background:color-mix(in srgb,var(--language-accent) 12%,white);color:var(--language-accent);font-weight:850;font-size:1.1rem}
.language-block-steps{margin:1.3rem 0 2rem}
.language-block-steps ol{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.65rem;list-style:none;margin:0;padding:0}
.language-block-steps li>a,.language-block-steps li>span{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:0 .5rem;align-items:center;min-height:74px;padding:.6rem .7rem;border:1px solid var(--language-pending);border-radius:15px;background:white;color:inherit;text-decoration:none}
.language-block-steps li.is-current>span{background:color-mix(in srgb,var(--language-accent) 10%,white);border-color:var(--language-accent)}
.language-block-steps li :is(a,span)>span:first-child{display:grid;grid-row:1/3;place-items:center;width:2rem;height:2rem;border-radius:50%;background:color-mix(in srgb,var(--language-accent) 15%,white);color:var(--language-accent);font-weight:850}
.language-block-steps strong{font-size:.85rem}.language-block-steps small{color:var(--language-muted);font-size:.73rem}
.language-block-neighbors{display:flex;justify-content:space-between;gap:1rem;margin-top:.8rem}
.language-block-neighbors a{color:var(--language-accent);font-size:.86rem;font-weight:800;text-decoration:none}
.language-block-neighbors a:hover{text-decoration:underline}
@media(max-width:760px){.language-trail-layout{display:block}.language-trail-resume{position:static;max-width:600px;margin:1.2rem auto 0}.language-home-keys{grid-template-columns:1fr}.language-trail-header{padding:0 .5rem}.language-block-visual{grid-template-columns:1fr}.language-block-visual figure{min-height:0}.language-block-visual figure img{height:clamp(180px,34vw,245px)}}
@media(max-width:520px){.language-trail-link{gap:.75rem;min-height:128px;padding:.2rem}.language-trail-stop{margin-bottom:32px}.language-leaf-node{width:108px;height:108px;flex-basis:108px}.language-trail-label strong{font-size:1rem}.language-trail-stop:nth-child(even) .language-trail-link{flex-direction:row}.language-trail-label>span{font-size:.76rem}.language-trail-resume{padding:1.1rem}.language-block-visual{padding:.8rem}.language-block-visual figure img{height:180px}.language-block-steps ol{grid-template-columns:repeat(2,minmax(0,1fr))}.language-block-neighbors{flex-wrap:wrap}}
@media(prefers-reduced-motion:no-preference){.language-trail-link,.language-resume-button,.language-block-steps li>a{transition:transform .16s,box-shadow .16s}.language-trail-link:hover,.language-block-steps li>a:hover{transform:translateY(-2px)}}

:is(.fr-unit-listen,.en-unit-listen){display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin:.5rem 0 1.2rem}
:is(.fr-theory,.en-theory)>summary{cursor:pointer;font-weight:800;line-height:1.5;padding:.3rem 0}
:is(.fr-theory,.en-theory)>p{line-height:1.65}
:is(.fr-examples,.en-examples){margin:1rem 0;padding:1rem 1.2rem;border-radius:18px;background:#f1f5e8}
:is(.fr-examples,.en-examples) h2{font-size:1.05rem;margin:0 0 .65rem}
:is(.fr-examples,.en-examples) p{display:flex;align-items:center;justify-content:space-between;gap:.8rem;line-height:1.5}
:is(.fr-audio-footer,.en-audio-footer){max-width:960px;margin:1rem auto;padding:.9rem 1.2rem;display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;border-top:1px solid #d4dfd7;color:#59665e}
:is(.fr-audio-footer,.en-audio-footer)>small{font-size:.73rem}
:is(.fr-audio-footer,.en-audio-footer) [role=status]{flex:1;min-width:12rem;margin:0;font-size:.83rem}
:is(.fr-audio-footer,.en-audio-footer) button{display:inline-flex;align-items:center;gap:.4rem;min-height:40px;padding:.5rem .75rem;border:1px solid #bbc9c0;border-radius:12px;color:#304939;background:#fff;font-weight:750;cursor:pointer}
:is(.fr-audio-footer,.en-audio-footer) button:focus-visible{outline:3px solid #286b4a;outline-offset:3px}
@media(max-width:520px){:is(.fr-examples,.en-examples) p{align-items:flex-start;flex-direction:column}:is(.fr-audio-footer,.en-audio-footer){margin:1rem .75rem;padding:.75rem 0}}
